-
Nginx amplify – manualna instalacja i konfiguracja agenta
Przyznaję,że na rynku jest wiele narzędzi do monitorowania serwerów. Jedne mogę być hostowane lokalnie w naszej infrastrukturze, a inne wykupujemy w formie usługi zewnętrznej. Omówione poniżej narzędzie należy do tej drugiej grupy. Jest ono bezpłatne do 5 monitorowanych hostów. Zakładamy konto na stronie https://amplify.nginx.com/signup. Teraz czas na instalację i uruchomienie.
curl -sS -L -O http://nginx.org/keys/nginx_signing.key
rpm --import nginx_signing.key
rm nginx_signing.key
vim /etc/yum.repos.d/nginx-amplify.repo
Konfigurujemy repozytorium.
[nginx-amplify]
name=nginx repo
baseurl=http://packages.amplify.nginx.com/centos/7/$basearch
gpgcheck=1
enabled=1
Instalujemy….yum install nginx-amplify-agent
cp /etc/amplify-agent/agent.conf.default /etc/amplify-agent/agent.conf
vim /etc/amplify-agent/agent.conf
Wpisujemy klucz api.
api_key = c5fad52d01372771a01a5dc41f75f
Odpalamy…service amplify-agent start
Czas na konfigurację nginx. Musimy uruchomić funkcjonalność „pokazywania” tzw. statusu serwera www czyli między innymi ilości requestów, itp.
vim /etc/nginx/conf.d/stub_status.conf
server {
listen 127.0.0.1:80;
server_name 127.0.0.1;
location /nginx_status {
stub_status on;
allow 127.0.0.1;
deny all;
}
}
Pamiętajmy, aby powyższy plik był dodawany do konfiguracji głównej. Poniżej prezentujemy format logów jakie powinny być generowane, aby opisywane narzędzie mogło się wykazać.
log_format main_amp '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" '
'"$host" sn="$server_name" '
'rt=$request_time '
'ua="$upstream_addr" us="$upstream_status" '
'ut="$upstream_response_time" ul="$upstream_response_length" '
'cs=$upstream_cache_status' ;
Potem przy konfigurowaniu vhosta, w miejscu gdzie wskazujemy lokalizację access logów, dodajemy wpis z nazwą naszego niestandardowego formatu logów (w omawianym przykładzie main_amp). Przykładowy wpis:
access_log /var/log/nginx/centos_access.log main_amp;
Restartujemy nginx.systemctl restart nginx
Następnie musimy dostosować naszego php-fpm. Do każdej instancji (poola) musimy dodać w konfigu poniższy wpis.
pm.status_path = /status
Restartujemy php-fpm.systemctl restart php-fpm
Tak dla porządku i higieny zrestartowałbym agenta.
systemctl restart nginx-amplify-agent
Jeśli wszystko dobrze ustawiliśmy w panelu webowym usługi, to w niedługim czasie powinniśmy zobaczyć dane na wykresach.