Будущие характеристики под сервис Zabbix разворачиваемый на Ubuntu 14.04.4 Server amd64
- RAM = 4G
- CPU = 2
- HDD = 50
(а дома: RAM = 1,CPU=1,HDD=20 в рамках тестирования наращивания функционала данная тестовая система).
Сперва настраиваю систему по своему (правда первобытному) скрипту настройки:
Скачиваю deb–пакет Zabbix’а:
ekzorchik@srv-host:~$ wget http://repo.zabbix.com/zabbix/2.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_2.2-1+trusty_all.deb
ekzorchik@srv-host:~$ sudo dpkg -i zabbix-release_2.2-1+trusty_all.deb
ekzorchik@srv-host:~$ sudo apt-get update && sudo apt-get upgrade -y
ekzorchik@srv-host:~$ sudo apt-get install mariadb-server nginx php5-fpm php5-mysql snmp libnet-snmp-perl snmp-mibs-downloader zabbix-server-mysql zabbix-frontend-php zabbix-agent -y
New password for the MariaDB “root” user: 712mbddr@
Repeat password for the MariaDB “root” user: 712mbddr@
Configure database for zabbix-server-mysql with dbconfig-common? Yes
Password of the database’s administrative user: 712mbddr@
MySQL application password for zabbix-server-mysql: 712mbddr@
Password confirmation: 712mbddr@
ekzorchik@srv-host:~$ nginx -V | head -n 1
nginx version: nginx/1.4.6 (Ubuntu)
built by gcc 4.8.2 (Ubuntu 4.8.2-19ubuntu1)
TLS SNI support enabled
ekzorchik@srv-host:~$ sudo nano /etc/php5/fpm/php.ini
max_execution_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_input_time = 300
date.timezone = Europe/Moscow
ekzorchik@srv-host:~$ sudo cp /etc/nginx/nginx.conf ~/nginx.conf.backup
ekzorchik@srv-host:~$ sudo nano /etc/nginx/nginx.conf
user www-data;
worker_processes 4;
pid /run/nginx.pid;
events {
worker_connections 768;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
server_tokens off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
error_log /var/log/nginx/error.log;
gzip off;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
ekzorchik@srv-host:~$ sudo cp /etc/nginx/sites-available/default ~/nginx_default.copy
ekzorchik@srv-host:~$ sudo nano /etc/nginx/sites-available/default
(для 80 порта)
server {
listen 80 default_server;
root /usr/share/zabbix;
index index.php index.html index.htm;
server_name srv-host;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
(или задействуем для 443 порта)
server {
listen 443 default_server;
root /usr/share/zabbix;
index index.php index.html index.htm;
server_name srv-host;
ssl on;
ssl_certificate /etc/nginx/ssl/zabbix.crt;
ssl_certificate_key /etc/nginx/ssl/zabbix.key;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
ekzorchik@srv-host:~$ sudo pkill php5-fpm
ekzorchik@srv-host:~$ sudo service php5-fpm
force-reload reload restart start status stop
ekzorchik@srv-host:~$ sudo service php5-fpm start
start: Job is already running: php5-fpm
ekzorchik@srv-host:~$ sudo service nginx stop && sudo service nginx start && sudo service nginx status
* nginx is running
На заметку: если дополнительно будете вносить изменения в файла php.ini то чтобы перечитать изменения нужно сделать следующее:
ekzorchik@srv-host:~$ sudo pkill php5-fpm
ekzorchik@srv-host:~$ sudo service php5-fpm start
start: Job is already running: php5-fpm
http://IP&DNS/ – проходим все шаги настройки (за основу можно взять заметку:)
Затем авторизуюсь:
http://IP&DNS/index.php
- Username: admin
- Password: zabbix
Remember me for 30 days: отмечаю галочкой
и нажимаю Sign In, ну а дальше настройка происходит также как и в разобранных у меня на блоге заметках.
Может случиться, что Вы захотите внести некоторую безопасность работы с системой мониторинга за инфраструктурой задействовав https подключеник к текущему сервису вместо дефолтного http:
Создаем сертификат для текущей системы:
ekzorchik@srv-host:~$ openssl genrsa -des3 -out zabbix.key 1024
Generating RSA private key, 1024 bit long modulus
……………………………++++++
……………………………………………++++++
e is 65537 (0x10001)
Enter pass phrase for zabbix.key: 712mbddr@
Verifying – Enter pass phrase for zabbix.key: 712mbddr@
ekzorchik@srv-host:~$ openssl req -new -key zabbix.key -out zabbix.csr
Enter pass phrase for zabbix.key:712mbddr@
Common Name (e.g. server FQDN or YOUR name) []:192.168.1.174
Удалить запрос ввода пароля при перезапуске службы nginx:
ekzorchik@srv-host:~$ cp zabbix.key zabbix.key.org
ekzorchik@srv-host:~$ openssl rsa -in zabbix.key.org -out zabbix.key
Enter pass phrase for zabbix.key.org:712mbddr@
writing RSA key
ekzorchik@srv-host:~$ openssl x509 -req -days 3650 -in zabbix.csr -signkey zabbix.key -out zabbix.crt
Signature ok
subject=/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd/CN=192.168.1.174
Getting Private key
ekzorchik@srv-host:~$ ls -l zabbix.*
-rw-rw-r– 1 ekzorchik ekzorchik 822 Mar 12 00:08 zabbix.crt
-rw-rw-r– 1 ekzorchik ekzorchik 635 Mar 12 00:08 zabbix.csr
-rw-rw-r– 1 ekzorchik ekzorchik 887 Mar 12 00:08 zabbix.key
-rw-rw-r– 1 ekzorchik ekzorchik 963 Mar 12 00:08 zabbix.key.org
ekzorchik@srv-host:~$ sudo mkdir /etc/nginx/ssl
ekzorchik@srv-host:~$ sudo mv zabbix.crt zabbix.key /etc/nginx/ssl/
ekzorchik@srv-host:~$ sudo service nginx stop
ekzorchik@srv-host:~$ sudo service nginx start
ekzorchik@srv-host:~$ sudo service nginx status
* nginx is running
Запускаю браузер и в строке адреса набираю: http://192.168.1.174 – соглашаюсь что сертификат на системе является самоподписанным и URL доступа к ресурсу изменяется на https://192.168.1.174/dashboard.php, что мне и требовалось.
Текущее потребление ресурсов:
ekzorchik@srv-host:~$ free -m
total used free shared buffers cached
Mem: 993 344 649 14 13 136
-/+ buffers/cache: 193 799
Swap: 1019 0 1019
отлично еще 650Мб.
Итак я для себя подготовил шпаргалку на тему как вместо Web-сервера Apache2 использовать якобы быстродействующий nginx (я хочу самостоятельно в этом убедиться). Смею конечно же предположить что используемые настройки выше не оптимизированы, кому надо тот и сам знает что нужно подправить, для меня же это просто пошаговая заготовка на будущее использование. Сейчас я прощаюсь, в последствии я разберу в первую очередь для себя что-нибудь еще более интересное для меня. А пока я прощаюсь, до новых встреч, с уважением автор блога – ekzorchik.