這是在設定怎麼在服務上安裝 Agent 程式
cd /opt/
git clone https://github.com/librenms/librenms-agent.git
cd librenms-agent
/usr/bin
cp check_mk_agent /usr/bin/check_mk_agent
設定可以執行服務
chmod +x /usr/bin/check_mk_agent
cp check_mk@.service check_mk.socket /etc/systemd/system
mkdir -p /usr/lib/check_mk_agent/plugins /usr/lib/check_mk_agent/local
/usr/lib/check_mk_agent/local
cp -P agent-local/* /usr/lib/check_mk_agent/local/
讓此目錄下的檔案都能執行
chmod +x /usr/lib/check_mk_agent/local/$script
啟用 check_mk 服務
systemctl enable check_mk.socket && systemctl start check_mk.socket
location /nginx-status {
stub_status on;
access_log off;
allow 123.123.123.123; # 允許看到的 IP
allow 127.0.0.1;
deny all;
}
or
location /nginx-status {
stub_status on;
access_log off;
# allow 123.123.123.123; # 允許看到的 IP
# allow 127.0.0.1;
# deny all;
}
curl http://localhost/nginx_status
Active connections: 816
server accepts handled requests
39600484 39600484 24795538
Reading: 0 Writing: 4 Waiting: 794
nginx status 詳解
下載 SNMP 套件
wget https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/nginx -O /etc/snmp/nginx
讓此套件能夠執行
chmod +x /etc/snmp/nginx
vim /etc/snmp/snmpd.conf
extend nginx /etc/snmp/nginx
重啟 SNMP 服務
systemctl restart snmpd
yum install php-cli php-mysql
wget https://github.com/librenms/librenms-agent/raw/master/snmp/mysql -O /etc/snmp/mysql
設定可執行
chmod +x /etc/snmp/mysql
/etc/snmp
目錄下新增 mysql.cnf
檔vim /etc/snmp/mysql.cnf
<?php
$mysql_user = 'root';
$mysql_pass = 'toor';
$mysql_host = 'localhost';
$mysql_port = 3306;
vim /etc/snmp/snmpd.conf
extend mysql /etc/snmp/mysql
重啟 SNMP 服務
systecmctl restart snmpd
wget https://github.com/librenms/librenms-agent/raw/master/snmp/phpfpmsp -O /etc/snmp/phpfpmsp
設定可執行
chmod +x /etc/snmp/phpfpmsp
vim /etc/snmp/snmpd.conf
extend phpfpmsp /etc/snmp/phpfpmsp
重啟 SNMP 服務
systecmctl restart snmpd
vim /etc/php-fpm.d/www.conf
pm.status_path 修改成自己想要命名的名稱
pm.status_path = /status or /php_fpm_status
ping.path 修改成自己想要命名的名稱
ping.path = /ping or /php_fpm_status
ping 回應內容
ping.response = pong or hello
:wq
存檔後重啟 php-fpm 服務
systemctl restart php-fpm
location ~ ^/(status|php_fpm_ping)$ {
include fastcgi_params;
fastcgi_pass unix:/var/run/php-fpm.sock;
#如果是端口请用 fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
啟重 nginx
systemctl restart nginx or systemctl nginx relaod
status
訊息 | 說明 |
---|---|
pool | pool 名稱,通常是 www 。 |
process manager | static 、dynamic 或 ondemand |
start time | FPM 啟動的時間點。若重新載入(reload )也會改變這個時間 |
start since | FPM 啟動後所經過的秒數。 |
accepted conn | 已接收到的連線數量。 |
listen queue | 目前正在等待處理的連線數量,若這個值不是 0 ,就代表 FPM 的行程數量可能不夠,要考慮增加行程數量。 |
max listen queue | FPM 啟動後,等待處理連線數量的最大紀錄。 |
listen queue len | 等待處理連線佇列的長度。 |
idle processes | 閒置的 FPM 行程數量。 |
active processes | 工作中的 FPM 行程數量。 |
total processes | 所有的 FPM 行程數量。 |
max active processes | FPM 啟動後,工作中 FPM 行程數量的最大紀錄。 |
max children reached | FPM 啟動後,FPM 行程達到上限值的次數,若這個值不是 0 ,代表 PHP-FPM 的上限值設定太低,要考慮增加上限值。 |
slow requests | 處理過慢的連線數,若這個值不是 0 ,代表某些 PHP 程式的處理速度太慢,最常見的因素就是 MySQL 資料庫查詢過慢。 |
訊息 | 說明 |
---|---|
pid | FPM 的行程 ID。 |
state | 行程狀態,Idle 代表閒置,Running 代表工作中。 |
start time | 行程啟動的時間點。 |
start since | 行程啟動後所經過的秒數。 |
requests | 處理過的連線數。 |
request duration | 連線時間(µs)。 |
request method | 連線方式(GET 、POST 等)。 |
request URI | 連線的網址。 |
content length | POST 的資料長度。 |
user | 認證的使用者名稱(PHP_AUTH_USER )。 |
script | 主要執行的 PHP 指令稿。 |
last request cpu | 上一個連線所耗費的 CPU 百分比(只有閒置的行程才會顯示)。 |
last request memory | 上一個連線所耗費的最大記憶體(只有閒置的行程才會顯示)。 |