Grifagor / zabbix-openvpn

33 stars 35 forks source link

Что если в папке лежат не только сертификаты? #2

Open varnav opened 8 years ago

varnav commented 8 years ago

У меня скрипт выводит всякое-разное,

,{"{#VPNUSER}":"03.pem"}
,{"{#VPNUSER}":"04.pem"}
,{"{#VPNUSER}":"05.pem"}
,{"{#VPNUSER}":"06.pem"}
,{"{#VPNUSER}":"serial"}
,{"{#VPNUSER}":"serial.old"}
,{"{#VPNUSER}":"test44.crt"}
,{"{#VPNUSER}":"test44.csr"}
,{"{#VPNUSER}":"test44.key"}

и подобное

Grifagor commented 8 years ago

Вы используете в конфиге openvpn/server.conf ifconfig-pool-persist? если да, то можно брать имена сертификатов оттуда (я сделаю дополнительный скрипт).

varnav commented 8 years ago

Да, использую. Было бы удобно, спасибо!

Grifagor commented 8 years ago

Я добавил новый скрипт (discover_vpn_ipp.sh) Следует заменить в конфиге zabbix агента UserParameter=discovery.openvpn,/etc/zabbix/scripts/discover_vpn.sh на UserParameter=discovery.openvpn,/etc/zabbix/scripts/discover_vpn_ipp.sh Не забудьте рестартануть агент.

Если всё работает, прошу отписаться, что бы я закрыл проблему.

syswipe commented 8 years ago

уточние, пожалуйста - в папке лежит сертификат с именем username.crt в результате на выходе мы имеем:

/etc/zabbix/scripts/discover_vpn.sh 
{
"data":[
    {"{#VPNUSER}":"username.crt"}
]
}

в дальнейшем статус ищется для username.crt, а не для username:

root@monitor:~# zabbix_get -s vpn-gw -k user_status.openvpn[username]
1
root@monitor:~# zabbix_get -s vpn-gw -k user_status.openvpn[username.crt]
0
ksemaev commented 7 years ago

@syswipe Просто передайте по конвейру в тот же cut и отрежьте .crt при поиске построчно