Title: πŸ“ˆ Nagios Core Group: Monitoring Icon: πŸ“ˆ Order: 1 # Nagios Sysadmin Cheatsheet > **Context:** Nagios Core is an open source computer-system monitoring, network monitoring and infrastructure monitoring software application. / Nagios Core - это open source ПО для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° систСм, сСтСй ΠΈ инфраструктуры. > **Role:** Sysadmin / DevOps > **Version:** 4.x --- ## πŸ“š Table of Contents / Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ 1. [Installation & Configuration](#installation--configuration--установка-ΠΈ-конфигурация) 2. [Core Management](#core-management--Π±Π°Π·ΠΎΠ²ΠΎΠ΅-ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅) 3. [Sysadmin Operations](#sysadmin-operations--ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ-сисадмина) 4. [NRPE (Remote Monitoring)](#nrpe-remote-monitoring--nrpe-ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ-ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³) 5. [Maintenance](#maintenance--обслуТиваниС) 6. [Logrotate Configuration](#logrotate-configuration--конфигурация-logrotate) --- ## 1. Installation & Configuration / Установка ΠΈ конфигурация ### Main Config Files / ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Root directory: `/usr/local/nagios/etc/` or `/etc/nagios/` * `nagios.cfg`: Main configuration file / Основной Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ * `objects/commands.cfg`: Command definitions / ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ * `objects/contacts.cfg`: Contact definitions / ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² * `objects/localhost.cfg`: Monitoring definitions for local machine / ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ локальной ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ### User Management / Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ (Web UI) Using `htpasswd` for Basic Auth. / ИспользованиС `htpasswd` для Basic Auth. ```bash # Create user/password / Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ/ΠΏΠ°Ρ€ΠΎΠ»ΡŒ htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin # Add new user / Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ htpasswd /usr/local/nagios/etc/htpasswd.users ``` --- ## 2. Core Management / Π‘Π°Π·ΠΎΠ²ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ### Verify Config / ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Always verify before restarting! / ВсСгда провСряйтС ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ! ```bash /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg ``` ### Service Control / Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сСрвисом ```bash systemctl start nagios # Start / Запуск systemctl stop nagios # Stop / ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° systemctl reload nagios # Reload (Apply config) / ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ systemctl status nagios # Status / Бтатус ``` --- ## 3. Sysadmin Operations / ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сисадмина ### Plugins / ΠŸΠ»Π°Π³ΠΈΠ½Ρ‹ Located in `/usr/local/nagios/libexec/` or `/usr/lib64/nagios/plugins/`. ```bash # Test Ping / ВСст ΠΏΠΈΠ½Π³Π° ./check_ping -H -w 100.0,20% -c 500.0,60% -p 5 # Test HTTP / ВСст HTTP ./check_http -H -u / # Test Disk / ВСст диска ./check_disk -w 20% -c 10% -p / ``` ### Logs / Π›ΠΎΠ³ΠΈ File: `/usr/local/nagios/var/nagios.log` or `/var/log/nagios/nagios.log` ```bash tail -f /usr/local/nagios/var/nagios.log ``` --- ## 4. NRPE (Remote Monitoring) / NRPE (Π£Π΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³) ### Check NRPE Status / ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° статуса NRPE Run from Nagios Server to Client. / Запуск с сСрвСра Nagios Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚. ```bash /usr/local/nagios/libexec/check_nrpe -H # Output: NRPE v4.0.3 ``` ### Run Remote Command / Запуск ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ```bash /usr/local/nagios/libexec/check_nrpe -H -c check_load ``` --- ## 5. Maintenance / ΠžΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ### Acknowledge Alert (CLI) / ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π°Π»Π΅Ρ€Ρ‚Π° (CLI) Via external command file (cmd.cgi). / Π§Π΅Ρ€Π΅Π· Ρ„Π°ΠΉΠ» Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄. ```bash now=`date +%s` commandfile='/usr/local/nagios/var/rw/nagios.cmd' /bin/printf "[%lu] ACKNOWLEDGE_HOST_PROBLEM;;1;1;1;;Admin Ack\n" $now > $commandfile ``` ### Performance Data / Π”Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Nagios writes perfdata to `host-perfdata` and `service-perfdata` files if enabled. Processed by PNP4Nagios or Graphite. Nagios ΠΏΠΈΡˆΠ΅Ρ‚ perfdata Π² Ρ„Π°ΠΉΠ»Ρ‹ `host-perfdata` ΠΈ `service-perfdata`, Ссли Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ. ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ΡΡ PNP4Nagios ΠΈΠ»ΠΈ Graphite. --- ## 6. Logrotate Configuration / ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ Logrotate `/etc/logrotate.d/nagios` ```conf /var/log/nagios/*.log /usr/local/nagios/var/*.log { daily rotate 14 compress delaycompress missingok notifempty create 640 nagios nagios sharedscripts postrotate /bin/kill -HUP $(cat /var/run/nagios/nagios.lock 2>/dev/null) 2>/dev/null || true endscript } ``` ---