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
Monitoring VMware vSphere with Zabbix
-
Zabbix is an open-source monitoring tool designed to oversee multiple IT
infrastructure components, including networks, servers, virtual machines,
and…
...
včera
Žádné komentáře:
Okomentovat