abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 17:22 | Nová verze

    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.

    Ladislav Hagara | Komentářů: 0
    včera 15:22 | Komunita

    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.

    Ladislav Hagara | Komentářů: 0
    8.5. 19:22 | Nová verze

    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.

    Ladislav Hagara | Komentářů: 0
    8.5. 18:00 | Nová verze

    Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.5.

    Ladislav Hagara | Komentářů: 0
    8.5. 01:22 | Nová verze Ladislav Hagara | Komentářů: 0
    8.5. 00:55 | Zajímavý projekt

    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.

    vlk | Komentářů: 0
    7.5. 19:44 | Nová verze

    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.

    Ladislav Hagara | Komentářů: 0
    7.5. 17:33 | Nová verze

    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.

    Ladislav Hagara | Komentářů: 0
    7.5. 05:33 | Komunita

    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.

    Ladislav Hagara | Komentářů: 17
    7.5. 03:55 | Komunita

    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.

    Ladislav Hagara | Komentářů: 0
    Jaký filesystém primárně používáte?
     (57%)
     (1%)
     (8%)
     (22%)
     (4%)
     (2%)
     (2%)
     (1%)
     (1%)
     (3%)
    Celkem 569 hlasů
     Komentářů: 26, poslední 8.5. 09:58
    Rozcestník

    Administrace komentářů

    Jste na stránce určené pro řešení chyb a problémů týkajících se diskusí a komentářů. Můžete zde našim administrátorům reportovat špatně zařazenou či duplicitní diskusi, vulgární či osočující příspěvek a podobně. Děkujeme vám za vaši pomoc, více očí více vidí, společně můžeme udržet vysokou kvalitu AbcLinuxu.cz.

    Příspěvek
    20.7.2011 21:04 Dalibor V.
    Rozbalit Rozbalit vše Re: Nagios a Centreon
    tady je ten script, kam mam dat sudo?
    #!/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"
    

    V tomto formuláři můžete formulovat svou stížnost ohledně příspěvku. Nejprve vyberte typ akce, kterou navrhujete provést s diskusí či příspěvkem. Potom do textového pole napište důvody, proč by měli admini provést vaši žádost, problém nemusí být patrný na první pohled. Odkaz na příspěvek bude přidán automaticky.

    Vaše jméno
    Váš email
    Typ požadavku
    Slovní popis
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.