Raspberry Pi Connect, tj. oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče, byla vydána v nové verzi 2.5. Nejedná se už o beta verzi.
Google zveřejnil seznam 1272 projektů (vývojářů) od 185 organizací přijatých do letošního, již jednadvacátého, Google Summer of Code. Plánovaným vylepšením v grafických a multimediálních aplikacích se věnuje článek na Libre Arts.
Byla vydána (𝕏) dubnová aktualizace aneb nová verze 1.100 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.100 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.5.
OpenSearch (Wikipedie) byl vydán ve verzi 3.0. Podrobnosti v poznámkách k vydání. Jedná se o fork projektů Elasticsearch a Kibana.
PyXL je koncept procesora, ktorý dokáže priamo spúštat Python kód bez nutnosti prekladu ci Micropythonu. Podľa testov autora je pri 100 MHz približne 30x rýchlejší pri riadeni GPIO nez Micropython na Pyboard taktovanej na 168 MHz.
Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.
Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-05-06. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Pravděpodobně se jedná o poslední verzi postavenou na Debianu 12 Bookworm. Následující verze by již měla být postavena na Debianu 13 Trixie.
Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.
sudo-rs, tj. sudo a su přepsáné do programovacího jazyka Rust, nahradí v Ubuntu 25.10 klasické sudo. V plánu je také přechod od klasických coreutils k uutils coreutils napsaných v Rustu.
Mam 3 problemy s Centreonem (resp. Nagiosem) a prosim Vas o pomoc:
- v konfiguraci služeb mi chybí pole ARGS pro pridani promennych parametru k prikazu
- nevykresluji se grafy (resp. necitelny png obrazek)
- a nedari se mi spustit command, ktery potrebuje prava roota (prostrednictvim sudo). Neznam spravnou syntaxi, z konzole OK
Diky za pomoc. Predpokladam, ze nejsem jediny, co pouziva Nagios v kombinaci s Centreonem.
19/7/2011 10:33:59 - DB updating : /var/lib/centreon/metrics/234.rrd 19/7/2011 10:33:59 - DB updating : /var/lib/centreon/status/119.rrd 19/7/2011 10:33:59 - DB updating : /var/lib/centreon/metrics/226.rrd 19/7/2011 10:33:59 - DB updating : /var/lib/centreon/metrics/227.rrd 19/7/2011 10:33:59 - DB updating : /var/lib/centreon/status/115.rrdale vypada to takto.. viz. priloha
apt-get install php-gd Čtu seznamy balíků… Hotovo Vytvářím strom závislostí Čtu stavové informace… Hotovo E: Nelze najít balík php-gdk cemu to je?
process_performance_data=1 service_perfdata_command=process-service-perfdata service_perfdata_file=/usr/local/nagios/var/service-perfdata service_perfdata_file_mode=2 event_broker_options=-1 broker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfga zkontroloval zda ma webserver opravneni do slozek /var/lib/centreon/
Zdravim a dekuju za reakci. Vse mam nastaveno (postupoval jsem podle navodu), ale bohuzel problem pretrvava,. Jsem bezradnej
$USER1$/check_asterisk_peers -p 100poustim pres centreon v Configuration > Commands > Checks a vysledek je takovy:
Plugin test Command Line /usr/lib/nagios/plugins/check_asterisk_peers -p 100 Output CRITICAL: ?[0;37mUnable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?) ?[0m Status CRITICALALE, kdyz ho pustim v terminalu pod uzivatelem nagios (pod tim bezi i centreon) se
sudo
(v /etc/sudoers
mam potrebne udaje, tudiz na tento prikaz nepotrebuje uzivatel nagios heslo), vysledek je ok:
server:~# su nagios server:/$ whoami nagios server:/$ sudo /usr/lib/nagios/plugins/check_asterisk_peers -p 100 OK: 100Kam do toho commandu v centreonu mam zadat
sudo
?
drwxrwsr-x 3 nagios nagios 20480 2011-07-15 18:52 libexec
drwxr-xr-x 3 root root 12288 20. čec 12.27 plugins
Takze to precte kazdy. Oni ty pluginy jdou spoustet, to je ok. Ale kdyz uz ten samotny plugin potrebuje prava roota, tak ho musim pustit pod sudo (/etc/sudoers mi resi to, ze neni zapotrebi vyzva k zadani hesla korektne). Ale to nevim, jak to z toho centreonu udelat, protoze tam pred command sudo nejde priradit.
chown nagios:nagios /usr/lib/nagios/plugins/*
#!/bin/sh # Check asterisk peers plugin for Nagios. # Written by Chad Phillips (chad@apartmentlines.com) # Last Modified: 2009-05-02 ASTERISK=/usr/sbin/asterisk PROGPATH=`dirname $0` REVISION=`echo '$Revision: 2 $' | sed -e 's/[^0-9.]//g'` . $PROGPATH/utils.sh print_usage() { echo " Usage: check_asterisk_peers [--type | -t sip|iax] [--peers | -p peers] [--registrations | -r registrations] [--verify-peers] [--verify-registrations] [--config-file filepath] Usage: check_asterisk_peers --help | -h Description: This plugin checks Asterisk peers via Asterisk CLI commands to make sure they are in a healthy state. Unlike other monitoring plugins, status is obtained from the perspective of the Asterisk server -- it's a good plugin to use for monitoring the state of your connections to providers. Both the peer itself and registration status to a peer can be monitored, with the option of verifying that the peer/registration is actively configured. If any of the checked peers/registrations return a non-OK state, a critical state is returned. If verification is being used and a peer/registration is not verified as being in the active configuration, then the status check is skipped for that item instead of a critical state being returned. Tested to work on Linux. The following arguments are accepted: --type | -t (Optional) The type of peer to check. Valid values are sip, iax. Defaults to sip. --peers | -p (Optional) A space separated list of peers to check. Use the peer name given in the configuration, without the surrounding brackets. --registrations | -r (Optional) A space separated list of registrations to check, in the form of username@uri. For example, to check the registration of peer foo to somesite.com, use foo@somesite.com --verify-peers (Optional) If set, peer entries are verified in the configuration, and the check is skipped if they are not found. --verify-registrations (Optional) If set, registrations are verified in the configuration, and the check is skipped if they are not found. --config-file (Optional) The location of the configuration file(s). Use a space separated list if specifying multiple files. Default value is based on the --type setting: sip: /etc/asterisk/sip.conf iax: /etc/asterisk/iax.conf --help | -h Print this help and exit. Examples: Check peers [foo] and [bar]: check_asterisk_peers -p \"foo bar\" Check peers [foo] and [bar], and registration for usr baz at somesite.com, and verify that both the peers and the registration are actively configured. check_asterisk_peers -p \"foo bar\" -r \"baz@somesite.com\" --verify-peers --verify-registrations Caveats: The verification checks will not work correctly if there is any leading or trailing whitespace on any of the register statement lines or the peer section headings. This plugin does not work with Realtime. This plugin calls the asterisk executable directly, so make sure that the user executing this script has appropriate permissions! Usually the asterisk binary can only be run by the asterisk user or root. To grant the nagios user permissions to execute the script, try something like the following in your /etc/sudoers file: nagios ALL=(ALL) NOPASSWD: /path/to/plugins/directory/check_asterisk_peers Then call the plugin using sudo: /path/to/sudo check_asterisk_peers " } print_help() { print_usage echo "Check asterisk peers plugin for Nagios." echo "" } # Sets the exit status for the plugin. This is done in such a way that the # status can only go in one direction: OK -> WARNING -> CRITICAL. set_exit_status() { new_status=$1 # Nothing needs to be done if the state is already critical, so exclude # that case. case $exitstatus in $STATE_WARNING) # Only upgrade from warning to critical. if [ "$new_status" = "$STATE_CRITICAL" ]; then exitstatus=$new_status; fi ;; $STATE_OK) # Always update state if current state is OK. exitstatus=$new_status; ;; esac } # Ensures that a call to the Asterisk process returns successfully. Exits # critical if not. check_asterisk_result() { if [ "$1" != "0" ]; then echo "CRITICAL: $2" exit $STATE_CRITICAL fi } # Recurse through the configuration file and find all included files, building # a final list of files to use for verification checks. get_config_files() { for file in $1 do if [ "$conf_file_list" ]; then conf_file_list="$conf_file_list $file" else conf_file_list="$file" fi files=`cat $file | grep ^\#include | awk '{print $2;}'` if [ "$files" ]; then get_config_files "$files" fi done } # Defaults. exitstatus=$STATE_OK peers= registrations= verify_peers= verify_registrations= peer_type= conf_file= conf_file_list= all_config= test_ok= test_errors= output= # Grab the command line arguments. while test -n "$1"; do case "$1" in --help) print_help exit $STATE_OK ;; -h) print_help exit $STATE_OK ;; --peers) peers=$2 shift ;; -p) peers=$2 shift ;; --registrations) registrations=$2 shift ;; -r) registrations=$2 shift ;; --verify-peers) verify_peers=1 ;; --verify-registrations) verify_registrations=1 ;; --type) peer_type=$2 shift ;; -t) peer_type=$2 shift ;; --conf-file) conf_file=$2 shift ;; -x) exitstatus=$2 shift ;; --exitstatus) exitstatus=$2 shift ;; *) echo "Unknown argument: $1" print_usage exit $STATE_UNKNOWN ;; esac shift done # Make sure we have a valid peer type. if [ "$peer_type" != "" ] && [ "$peer_type" != "sip" ] && [ "$peer_type" != "iax" ]; then echo "Peer type must be one of: sip, iax." exit $STATE_UNKNOWN # Convert iax type into internal iax2 type for the Asterisk executable. elif [ "$peer_type" = "iax" ]; then peer_type=iax2 # Default type is SIP. else peer_type=sip fi if [ ! "$peers" ] && [ ! "$registrations" ]; then echo "At least one peer or registration must be provided." exit $STATE_UNKNOWN fi # Set a default configuration file if none was set. if [ "$conf_file" = "" ]; then if [ "$peer_type" = "iax2" ]; then conf_file=/etc/asterisk/iax.conf else conf_file=/etc/asterisk/sip.conf fi fi # Check to make sure the registrations are in the username@uri format. # This is a weak check, but at least enough to make sure we have something # in the user/uri variables. if [ "$registrations" ]; then for r in $registrations do REGISTRATION_FORMAT_CORRECT=`echo "$r" | grep ".\+@.\+"` if [ ! "$REGISTRATION_FORMAT_CORRECT" ]; then echo "Registration $r is not in the valid username@uri format." exit $STATE_UNKNOWN fi done fi # Load the configuration files if necessary. if [ "$verify_peers" ] || [ "$verify_registrations" ]; then get_config_files $conf_file all_config=`cat $conf_file_list` fi # Check peers. if [ "$peers" ]; then for p in $peers do if [ "$verify_peers" ]; then peer_verified=`echo "$all_config" | grep "^\[${p}\]$"` else peer_verified=1 fi if [ "$peer_verified" ]; then # Fetch the data from asterisk. command_output=`$ASTERISK -rx "$peer_type show peer $p" 2>&1` check_asterisk_result $? "$command_output" status=`echo "$command_output" | grep "^[[:space:]]*Status[[:space:]]*:" | awk '{print $3;}'` if [ "$status" = "OK" ]; then if [ "$test_ok" ]; then test_ok="${test_ok}, $p" else test_ok="$p" fi else if [ "$status" ]; then status_error="$status" else status_error="Not found" fi if [ "$test_errors" ]; then test_errors="${test_errors}, ${p}: $status_error" else test_errors="${p}: $status_error" fi fi else if [ "$test_ok" ]; then test_ok="${test_ok}, $p (not active)" else test_ok="$p (not active)" fi fi done fi # Check registrations. if [ "$registrations" ]; then # Fetch the data from asterisk. command_output=`$ASTERISK -rx "$peer_type show registry" 2>&1` check_asterisk_result $? "$command_output" for r in $registrations do user=`echo $r | cut -f 1 -d "@"` # Add backslashes to escape the dot. uri=`echo $r | cut -f 2 -d "@" | sed -e 's/\./\\\./g'` if [ "$verify_registrations" ]; then # This regex isn't perfect, but it does the trick ok. registration_verified=`echo "$all_config" | grep "^register => ${user}:.\+@${uri}$"` else registration_verified=1 fi if [ "$registration_verified" ]; then # Have to cut off registration name at 12 characters, so let's hope # it's still unique! cut_user=${user:0:12} # This regex isn't perfect, but it does the trick ok. status=`echo "$command_output" | grep "^${uri}:[[:digit:]].\+[[:space:]].\+${cut_user}[[:space:]].\+" | awk '{print $4;}'` if [ "$status" = "Registered" ]; then if [ "$test_ok" ]; then test_ok="${test_ok}, $r" else test_ok="$r" fi else if [ "$status" ]; then status_error="$status" else status_error="Not found" fi if [ "$test_errors" ]; then test_errors="${test_errors}, ${r}: $status_error" else test_errors="${r}: $status_error" fi fi else if [ "$test_ok" ]; then test_ok="${test_ok}, $r (not active)" else test_ok="$r (not active)" fi fi done fi if [ "$test_errors" ]; then output="$output ERROR: $test_errors" set_exit_status $STATE_CRITICAL fi if [ "$test_ok" ]; then output="$output OK: $test_ok" fi if [ ! "$output" ]; then echo "UNKNOWN: No output" exit $STATE_UNKNOWN fi echo "$output"
ASTERISK="/usr/bin/sudo /usr/sbin/asterisk"Zkus, jestli to pomuze...
/usr/bin/sudo $USER1$/check_asterisk_peers -p 100nezkousel jsem, je to jenom napad
Také jsem se s tím trochu trápil a nakonec jsem to vyřešil tak, že jsem si udělal nový soubor, který volám z Centreonu a obsahuje to sudo.
Obsah souboru vypadá nějak takto:
#! /bin/sh
/usr/bin/sudo /usr/local/nagios/libexec/check_mailq -M 'qmail' -w '80' -c '100'
>> nevykresluji se grafy (resp. necitelny png obrazek) toto VYRESENO: problem s Centreonem a PHP 5.3 (funkce split
je deprecated). Zeditoval jsem /etc/php5/apache2/php.ini
a zmenil error_reporting = E_ALL & ~E_NOTICE
na error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
podle navodu.
Tiskni
Sdílej: