V práci jsem narazil na server, kde byla zprovozněna HAProxy pro přepínání provozu na dva IBM IHS servery (Apache).
Stav HAProxy se dá velmi podrobně sledovat pomoci socket. Pěknou inspirací byl tento návod.
V konfiguraci haproxy.conf je nutno zapnout zápis do socketů.
global
# Create a socket that allows us to query it directly
stats socket /tmp/haproxy.sock
Pro čtení ze socketu je třeba aplikace socat, která např. v RHEL 5.8 není a tak je někdy potřeba si ji zkompilovat ručne.
Já volil konkrétně tuto verzi, novější mi nešla zkompilovat.
cd /usr/local/src
wget http://www.dest-unreach.org/socat/download/socat-1.7.2.1.tar.gz
tar xzf socat-1.7.2.1.tar.gz
cd socat-1.7.2.1
./configure --disable-fips
make
make install
Pak už můžeme vyčítat požadované hodnoty. Zmíněný návod je velmi podrobný.
[root@server ~]# echo "show info" | socat /tmp/haproxy.sock stdio
Name: HAProxy
Version: 1.4.21
Release_date: 2012/05/21
Nbproc: 1
Process_num: 1
Pid: 29810
Uptime: 0d 0h01m46s
Uptime_sec: 106
Memmax_MB: 0
Ulimit-n: 8219
Maxsock: 8219
Maxconn: 4096
Maxpipes: 0
CurrConns: 17
PipesUsed: 0
PipesFree: 0
Tasks: 25
Run_queue: 1
node: server.domena.cz
description:
Konfigurací Zabbix agenta, kde nadefinujeme uživatelské parametry a pomocí grep a awk atd. vyďobeme jednotlivé potřebné hodnoty.
Toto je např. HAProxy "total" connections/sessions
UserParameter=hap.scur, echo "show stat" | /usr/bin/sudo /usr/local/bin/socat /tmp/haproxy.sock stdio | grep -i 'server,FRONTEND' |
sed 's/,/\ /g' | awk '{print $3}'
Pro povolení práce se socketem je nutno delegovat opravnění uživateli zabbix.
visudo
...
Defaults:%zabbix !requiretty
Defaults:zabbix !requiretty
## Allows 'zabbix' user to run all commands without password.
zabbix ALL=NOPASSWD: ALL
Zabbix in: exploratory data analysis rehearsal – Part 3
-
In the third article about Zabbix and exploratory data analysis, we will
understand how theories about asymmetry and kurtosis work.
The post Zabbix in: e...
před 1 měsícem
Žádné komentáře:
Okomentovat