Linux(centos6)环境zabbix 3.4监控安装部署及zabbix agent配置
本章blog主要汇总了 Centos下Zabbix 3.4 源码安装教程及zabbix agent部署,客户端包括linux 中zabbix客户端 、Windows 中zabbix客户端 、网络设备SNMP、打印机SNMP共四种不同种类客户端的配置部署 。Zabbix Server
[*]Zabbix 概述
Zabbix 是由Alexei Vladishev创建,目前由Zabbix SIA在持续开发和支持。
Zabbix 是一个企业级的分布式开源监控方案。
Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件。Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。这些功能使得Zabbix成为容量规划的理想方案。
Zabbix支持主动轮询和被动捕获。Zabbix所有的报告、统计信息和配置参数都可以通过基于Web的前端页面进行访问。基于Web的前端页面可以确保您从任何方面评估您的网络状态和服务器的健康性。适当的配置后,Zabbix可以在IT基础架构监控方面扮演重要的角色。对于只有少量服务器的小型组织和拥有大量服务器的大型公司也同样如此。
Zabbix是免费的。Zabbix是根据GPL通用公共许可证第2版编写和发行的。这意味着它的源代码都是免费发行的,可供公众任意使用。
[*] zabbix 结构
Zabbix由几个主要的软件组件构成,这些组件的功能如下。
Server:Zabbix server 是agent程序报告系统可用性、系统完整性和统计数据的核心组件,是所有配置信息、统计信息和操作数据的核心存储器。
数据库存储:所有配置信息和Zabbix收集到的数据都被存储在数据库中。
Web界面:为了从任何地方和任何平台都可以轻松的访问Zabbix, 我们提供基于Web的Zabbix界面。该界面是Zabbix Server的一部分,通常(但不一定)跟Zabbix Server运行在同一台物理机器上。如果使用SQLite,Zabbix Web界面必须要跟Zabbix Server运行在同一台物理机器上。
Proxy代理服务器:Zabbix proxy 可以替Zabbix Server收集性能和可用性数据。Proxy代理服务器是Zabbix软件可选择部署的一部分;当然,Proxy代理服务器可以帮助单台Zabbix Server分担负载压力。
Agent监控代理:Zabbix agents监控代理 部署在监控目标上,能够主动监控本地资源和应用程序,并将收集到的数据报告给Zabbix Server。
数据流:监控方面,为了创建一个监控项(item)用于采集数据,必须先创建一个主机(host)。告警方面,在监控项里创建触发器(trigger),通过触发器(trigger)来触发告警动作(action)。
因此,如果你想收到Server XCPU负载过高的告警,你必须: 1.为Server X创建一个host并关联一个用于对CPU进行监控的监控项(Item); 2.创建一个Trigger,设置成当CPU负载过高时会触发; 3.Trigger被触发,发送告警邮件 虽然看起来有很多步骤,但是使用模板的话操作起来其实很简单,Zabbix这样的设计使得配置机制非常灵活易用。
Zabbix 3.4 源码安装
[*]Zabbix部署环境:
系统:Centos 6.9
软件:zabbix 3.4
编译环境:zabbix安装依赖LNMP环境,LNMP安装部署请参照http://blog.运维网.com/itwish/2285884,配置epelyum源 并实现时间同步
1、zabbix安装准备
[*]下载源码包zabbix 3.4:https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.4.14/zabbix-3.4.14.tar.gz/download
# wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.4.14/zabbix-3.4.14.tar.gz/download -O zabbix-3.4.14.tar.gz
# tar zxf zabbix-3.4.14.tar.gz # 解压文件
[*]配置定时时间同步任务
# yum install ntpdate # 安装ntpdate 同步命令
# vi /etc/crontab # 配置定时时间同步
01 01* * * root /usr/sbin/ntpdate 192.168.23.100 &> /dev/null # 配置时间同步周期为1天 2、下载源码包,添加管理用户zabbix 及zabbix组
对于所有Zabbix的守护进程,需要一个无特权的用户。如果Zabbix守护进程以一个无特权的用户账户启动,那么它会使用该用户运行。然而,如果一个守护进程以‘root’用户启动,它会切换为‘zabbix’用户账户,且这个用户必须存在。
# groupadd -r zabbix # 添加系统组zabbix
# useradd -r -g zabbix -s /sbin/nologin zabbix # 添加系统用户zabbix ,且禁止zabbix登录3、zabbix编译安装
# cd zabbix-3.4.14
# ./configure \
--prefix=/usr/local/zabbix \
--enable-server \
--enable-agent \
--enable-ipv6\
--with-mysql \
--with-libxml2 \
--with-net-snmp \
--with-libevent \
--with-openssl \
--with-libcurl \
--with-libpcre \
--with-iconv \
--with-ssh2 \
--with-ldap \
--with-openipmi
# make && make install
# vi /etc/profile.d/zabbix.sh # 配置zabbix环境变量
export PATH=/usr/local/zabbix/bin:/usr/local/zabbix/sbin:$PATH4、创建zabbix数据库,并导入数据
# mysql -u root -p # 链接mysql数据库
Enter password:
Welcome to the MySQL monitor.Commands end with ; or \g.
Your MySQL connection id is 61
Server version: 5.5.61-log Source distribution
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)
mysql> create database zabbix character set utf8; # 创建zabbix数据库,并设置utf8格式
Query OK, 1 row affected (0.02 sec)
mysql> grant all on *.* to zabbix@'localhost' identified by '123abc.com'; # 赋予zabbix用户管理权限
Query OK, 0 rows affected (0.00 sec)
mysql> grant all on *.* to zabbix@'127.0.0.1' identified by '123abc.com';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all on *.* to zabbix@'172.16.10.5' identified by '123abc.com';
Query OK, 0 rows affected (0.00 sec)
mysql> use mysql; # 连接mysql数据库
Database changed
mysql> select user,host,password from user; # 查看用户信息
+--------+-------------+-------------------------------------------+
| user | host | password |
+--------+-------------+-------------------------------------------+
| root | localhost | *A2014B98638381FD245DB23A28DC0E2701E9C704 |
| zabbix | localhost | *A2BC69CE14D03BC7F36E7A2290C8CCAC041245BC |
| root | 127.0.0.1 | *A2014B98638381FD245DB23A28DC0E2701E9C704 |
| root | 172.16.10.5 | *A2014B98638381FD245DB23A28DC0E2701E9C704 |
| zabbix | 127.0.0.1 | *A2BC69CE14D03BC7F36E7A2290C8CCAC041245BC |
| zabbix | 172.16.10.5 | *A2BC69CE14D03BC7F36E7A2290C8CCAC041245BC |
+--------+-------------+-------------------------------------------+
6 rows in set (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> quit # 退出数据库
Bye
# mysql -u zabbix -p # 使用zabbix登录数据库
Enter password:
Welcome to the MySQL monitor.Commands end with ; or \g.
Your MySQL connection id is 103
Server version: 5.5.61-log Source distribution
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> use zabbix; # 链接创建的zabbix数据库
Database changed
mysql> source /usr/local/src/zabbix/zabbix-3.4.14/database/mysql/schema.sql; # 导入schema.sql 数据到zabbix数据库中
mysql> source /usr/local/src/zabbix/zabbix-3.4.14/database/mysql/images.sql; # 导入images.sql数据
mysql> source /usr/local/src/zabbix/zabbix-3.4.14/database/mysql/data.sql; # 导入data.sql数据
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye 5、查看和编辑zabbix_server配置文件,启动zabbix_server 进程
# chown zabbix.zabbix /var/run/zabbix/ # 为zabbix pid文件目录配置zabbix用户读写权限
# chown zabbix.zabbix /var/lock/zabbix/ # 为zabbix sock文件目录配置zabbix用户读写权限
# ln -sv /usr/local/zabbix/etc//usr/local/etc # 链接zabbix server及agentd 配置文件
`/usr/local/etc' -> `/usr/local/zabbix/etc/'
# cp misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server # 拷贝zabbix_server 启动脚本
# vi /usr/local/etc/zabbix_server.conf # 调整zabbix_server 配置文件
ListenPort=10051 # 启动zabbix_server侦听端口
LogFile=/var/log/zabbix/zabbix_server.log # 日志路径
LogFileSize=1024 # 指定log日志大小
PidFile=/var/run/zabbix/zabbix_server.pid # 指定启动pid文件目录
SocketDir=/var/lock/zabbix # 指定zabbix_server lock文件目录
DBHost=localhost # 指定DBhost主机
DBName=zabbix # 指定数据库名称 zabbix
DBUser=zabbix # 指定访问zabbbix数据库的用户名 zabbix
DBPassword=123abc.com # 指定zabbix用户的密码
DBSocket=/var/lock/mysql/mysql.sock # 指定mysql启动时的sock文件路径
DBPort=3306 # 指定mysql的端口3306
# vi /etc/init.d/zabbix_server # 调整zabbix_server 启动脚本
#!/bin/bash
#
# chkconfig: - 90 10
# description:Starts and stops Zabbix Server using chkconfig
#
# Source function library.
. /etc/init.d/functions
#
# Variables
# Edit these to match your system settings
# Zabbix-Directory
BASEDIR=/usr/local/zabbix # 调整zabbix安装路径
# Binary File
BINARY_NAME=zabbix_server
# Full Binary File Call
FULLPATH=$BASEDIR/sbin/$BINARY_NAME
# PID file
PIDFILE=/var/run/zabbix/$BINARY_NAME.pid # 调整zabbix_server启动pid文件
# chkconfig --add zabbix_server
# chkconfig zabbix_server on
# service zabbix_server start
Starting zabbix_server:
# ss -tunl |grep 10051 # 验证10051启动端口
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 128 :::10051 :::*
tcp LISTEN 0 128 *:10051 *:*
# ps aux |grep zabbix_server
root 59950.00.1 1440609660 pts/0 S+ 16:00 0:00 vim /var/log/zabbix/zabbix_server.log
zabbix 61050.00.0 2322163132 ? S 16:04 0:00 /usr/local/zabbix/sbin/zabbix_server
。。。。 6、查看和编辑zabbix_agentd配置文件,启动zabbix_agentd进程
# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd # 拷贝zabbix_agentd 启动脚本
# vi /usr/local/etc/zabbix_agentd.conf # 调整zabbix_agentd 配置文件
PidFile=/var/run/zabbix/zabbix_agentd.pid # 指定启动pid文件目录
LogFile=/var/log/zabbix/zabbix_agentd.log # 日志路径
LogFileSize=1024 # 指定log日志大小
Server=172.16.10.5 # 指定zabbix_server 地址
ListenPort=10050 # 启动zabbix_agentd侦听端口
ServerActive=127.0.0.1
Hostname=Zabbix server
# vi /etc/init.d/zabbix_agentd # 调整zabbix_agentd 启动脚本文件
#!/bin/bash
#
# chkconfig: - 90 10
# description:Starts and stops Zabbix Agent using chkconfig
#
# Variables
# Edit these to match your system settings
# Zabbix-Directory
BASEDIR=/usr/local/zabbix # 调整zabbix安装路径
# Binary File
BINARY_NAME=zabbix_agentd
# Full Binary File Call
FULLPATH=$BASEDIR/sbin/$BINARY_NAME
# PID file
PIDFILE=/var/run/zabbix/$BINARY_NAME.pid # 调整zabbix_agentd启动pid文件
# chkconfig zabbix_agentd on
# chkconfig --add zabbix_agentd
# service zabbix_agentd start
Starting zabbix_agentd:
# ss -tunl
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 128 :::10050 :::*
tcp LISTEN 0 128 *:10050 *:*
# ps aux | grep zabbix_agentd
zabbix 63270.00.0789721216 ? S 16:24 0:00 /usr/local/zabbix/sbin/zabbix_agentd
。。。 7、 安装Zabbix web界面
[*] 复制php文件
# cp /usr/local/src/zabbix/zabbix-3.4.14/frontends/php /usr/local/nginx/html/zabbix -af
# 把zabbix web主页拷贝到nginx html目录
# service nginx restart # 重启nginx服务
Stopping nginx:
Starting nginx:
[*]通过web页面对zabbix进行配置
http://s1.运维网.com/images/20180928/1538114638356346.png
[*]验证php需求,解决fail项
# vi /etc/php.ini # 修改php.ini 配置文件,使之满足zabbix安装条件
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Shanghai
# service php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpmdone http://s1.运维网.com/images/20180928/1538114660552717.png
[*]配置数据库连接,填写相关配置
http://s1.运维网.com/images/20180928/1538114707423611.png
[*]配置zabbix server
http://s1.运维网.com/images/20180928/1538114734181849.png
[*]配置信息汇总
http://s1.运维网.com/images/20180928/1538114746382086.png
[*]安装install zabbix.conf.php
http://s1.运维网.com/images/20180928/1538114765193719.png
# vi zabbix.conf.php # 下载配置文件并保存至zabbix.conf.php文件中
页:
[1]