Zabbix установка и настройка RedHat , Centos
Заббикс (Zabbix) – это система мониторинга и управления IT-инфраструктурой, которая позволяет отслеживать параметры системы, таких как CPU, память, диск, сеть и т.п. для обнаружения проблем и предотвращения остановок оборудования.
Ниже приведены основные настройки Zabbix:
1. Установка и конфигурация
Для установки Zabbix можно использовать следующие команды:
# Инициализация базы данных MySQL
mysql -uroot -p<пароль> < /usr/share/doc/zabbix-server_mysql/schema.sql
# Установка сервера Zabbix
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-get
2. Настройка базовой конфигурации
После установки необходимо настроить базовую конфигурацию Zabbix:
# Создание файла конфигурации
echo "DBHost=localhost" >> /etc/zabbix/zabbix_server.conf
echo "DBName=zabbix" >> /etc/zabbix/zabbix_server.conf
echo "DBUser=zabbix" >> /etc/zabbix/zabbix_server.conf
echo "DBPassword=<пароль>" >> /etc/zabbix/zabbix_server.conf
3. Настройка доступа к веб-интерфейсу
Чтобы получить доступ к веб-интерфейсу Zabbix, необходимо настроить пароль администратора:
# Создание файла конфигурации веб-интерфейса
echo "DBPassword=<пароль>" >> /etc/zabbix/web.conf
4. Настройка агента
Агент Zabbix необходим для сбора метрик с удаленного сервера:
# Создание файла конфигурации агента
cat <<EOF > /etc/zabbix/zabbix_agentd.conf
Server=<адрес_сервера_zabbix>
Hostname=<имя_сервера>
EOF
# Перезагрузка сервиса агента
systemctl reload zabbix-agent
5. Настройка сбора метрик
Для настройки сбора метрик необходимо указать в конфигурационном файле агента, какие параметры следует отслеживать:
# Создание файла конфигурации агента для сбора метрик
cat <<EOF > /etc/zabbix/zabbix_agentd.conf
# Сбор метрики CPU
UserParameter=cpu.load[*],top -b -n 1 | awk '/Cpu\(s\)/ {print $2}' | sed 's/,//'
UserParameter=cpu.idle[*],top -b -n 1 | awk '/Cpu\(s\)/ {print ($5/$2)*100}'
EOF
6. Настройка отправки метрик
Для настройки отправки метрик необходимо указать в конфигурационном файле сервера Zabbix, какой формат отчетов следует использовать:
# Создание файла конфигурации сервера Zabbix для отправки метрик
cat <<EOF > /etc/zabbix/zabbix_server.conf
EnableRemoteCommands=1
EOF
7. Настройка сбора и отправки метрик
Для настройки сбора и отправки метрик необходимо указать в конфигурационном файле агента, какой интервал отслеживания следует использовать:
# Создание файла конфигурации агента для сбора и отправки метрик
cat <<EOF > /etc/zabbix/zabbix_agentd.conf
Interval=30
EOF
После настройки всех параметров необходимо перезагрузить сервисы Zabbix и агент:
systemctl restart zabbix-server
systemctl restart zabbix-agent
Теперь вы можете получить доступ к веб-интерфейсу Zabbix по адресу: <адрес_сервера_zabbix>:80.
Чтобы отслеживать метрики, необходимо создать сценарий:
# Создание сценария для отслеживания метрик
cat <<EOF > /etc/zabbix/scripts/monitoring.sh
#!/bin/bash
# Проверка доступности сервера Zabbix
ping -c 1 <адрес_сервера_zabbix> &>/dev/null && echo "Сервер Zabbix доступен." || echo "Сервер Zabbix не доступен."
# Сбор метрики CPU
cpu_load=$(zabbix_get -s <имя_сервера> -k cpu.load)
echo "Метрика CPU: $cpu_load"
# Отправка метрик в базу данных Zabbix
curl -X POST -H "Content-Type: application/json" \
http://<адрес_сервера_zabbix>:80/zabbix/api_jsonrpc.php -d \
'{"jsonrpc":"2.0","method":"user.login","params":{"username":"zabbix","password":"zabbix"},"id":1}' | \
curl -X POST -H "Content-Type: application/json" \
http://<адрес_сервера_zabbix>:80/zabbix/api_jsonrpc.php -d \
'{"jsonrpc":"2.0","method":"host.get","params":{"output":"extend","filter":{"host":"имя_сервера"}},"id":1}' | \
curl -X POST -H "Content-Type: application/json" \
http://<адрес_сервера_zabbix>:80/zabbix/api_jsonrpc.php -d \
'{"jsonrpc":"2.0","method":"item.create","params":{"hostid":"имя_сервера","name":"cpu.load","type":18,"key_":"cpu.load"},"id":1}'
EOF
# Присвоение владельца файлу сценария
chown zabbix:zabbix /etc/zabbix/scripts/monitoring.sh
После создания сценария необходимо указать в конфигурационном файле агента, какой интервал отслеживания следует использовать:
# Создание файла конфигурации агента для сбора и отправки метрик
cat <<EOF > /etc/zabbix/zabbix_agentd.conf
Interval=30
# Исполнение сценария
UserParameter=monitoring[*],/etc/zabbix/scripts/monitoring.sh $1
EOF
После настройки всех параметров необходимо перезагрузить сервисы Zabbix и агент:
systemctl restart zabbix-server
systemctl restart zabbix-agent
Теперь вы можете отслеживать метрики по адресу: <адрес_сервера_zabbix>:80.
Пожалуйста, помните, что приведенные выше настройки являются примерами и должны быть адаптированы под конкретные требования вашей организации.