1、Zabbix是一个高度集成的监控解决方案,可以实现企业级的开源分布式监控
2、Zabbix通过C/S模式采集监控数据
3、Zabbix通过B/S模式实现Web管理
监控服务器 192.168.2.11
被监控客户端 192.168.1.5
相关软件包链接:https://pan.baidu.com/s/1z6xzmF1x_330lyTCmMfTPw
提取码:qcte
1 安装nginx依赖包
yum -y install gcc pcre-devel zlib-devel zlib-devel openssl-devel
tar -xf nginx-1.12.2.tar.gz
./configure --user=nginx --group=nginx --with-http_ssl_module
make && make install
2 部署mariadb服务(也可以使用mysql,这里为了实验方便使用mariadb),开启nginx动态页面
yum -y install mariadb mariadb-server mariadb-devel
yum -y install php php-mysql php-fpm
#使用sed修改nginx配置文件
sed -i '65,71s/#//' /usr/local/nginx/conf/nginx.conf
sed -i '/SCRIPT_FILENAME/d' /usr/local/nginx/conf/nginx.conf
sed -i 's/fastcgi_params/fastcgi.conf/' /usr/local/nginx/conf/nginx.conf
/usr/local/nginx/sbin/nginx #启动nginx
#失败可能是nginx用户和组没创建!!
systemctl start mariadb
systemctl enable mariadb
systemctl start php-fpm
systemctl enable php-fpm
3 源码安装zabbix软件
yum -y install net-snmp-devel curl-devel libevent-devel
tar -xf zabbix-3.4.4.tar.gz
cd zabbix-3.4.4/
./configure --enable-server --enable-proxy --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl
make install
ls /usr/local/{etc,bin,sbin} #检查服务是否安装成功
/usr/local/bin:
zabbix_get zabbix_sender
/usr/local/etc:
zabbix_agentd.conf zabbix_proxy.conf zabbix_server.conf
zabbix_agentd.conf.d zabbix_proxy.conf.d zabbix_server.conf.d
/usr/local/sbin:
zabbix_agentd zabbix_proxy zabbix_server
4 创建数据库与数据账户
#创建数据库与数据库账户
MariaDB [(none)]> create database zabbix character set utf8;
MariaDB [(none)]> grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';
#sql文件 zabbix-3.4.4/database/mysql
mysql -uzabbix -pzabbix zabbix < schema.sql
mysql -uzabbix -pzabbix zabbix < images.sql
mysql -uzabbix -pzabbix zabbix < data.sql
5 上线Zabbix页面
cd /opt/zabbix-3.4.4/frontends/php/
cp -a * /usr/local/nginx/html/
chmod -R 777 /usr/local/nginx/html/*
6 初始化准备
#安装依赖软件
yum -y install php-gd php-xml php-ldap
yum -y install php-bcmath php-mbstring
#修改nginx配置
fastcgi_buffers 8 16k; //缓存php生成的页面内容,8个16k
fastcgi_buffer_size 32k; //缓存php生产的头部信息
fastcgi_connect_timeout 300;//连接PHP的超时时间
fastcgi_send_timeout 300; //发送请求的超时时间
fastcgi_read_timeout 300; //读取请求的超时时间
/usr/local/nginx/sbin/nginx -t //检查配置文件是否正确
#修改PHP配置文件
vim /etc/php.ini
date.timezone= Asia/Shanghai //设置时区
max_execution_time=300 //最大执行时间
post_max_size=32M //POST数据最大容量
max_input_time=300 //服务器接受数据的时间限制
systemctl restart php-fpm
7 浏览器访问web页面(我这里绑定了公网IP)
http://139.9.58.6/index.php
8 启动服务
#修改配置文件
vim /usr/local/etc/zabbix_server.conf
DBHost=localhost //数据库主机
DBName=zabbix //设置数据库名称
DBUser=zabbix //设置数据库账户
DBPassword=zabbix //设置数据库密码
LogFile=/tmp/zabbix_server.log //设置日志
#启动服务
useradd zabbix
zabbix_server
netstat -ntulp | grep :10051
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 15800/zabbix_server
1 源码安装zabbix软件
yum -y install gcc pcre-devel
tar -xf zabbix-3.4.4.tar.gz
cd zabbix-3.4.4/
./configure --enable-agent
make install
ls /usr/local/{etc,bin,sbin} #检查服务是否安装成功
/usr/local/bin:
zabbix_get zabbix_sender
/usr/local/etc:
zabbix_agentd.conf zabbix_agentd.conf.d
/usr/local/sbin:
zabbix_agentd
2 修改配置文件
vim /usr/local/etc/zabbix_agentd.conf
Server=127.0.0.1,192.168.1.11 #指定允许访问服务地址列表
ServerActive=192.168.2.1:10051 #zabbix监控服务器的IP及端口
LogFile=/tmp/zabbix_agentd.log #日志文件
启动服务
useradd zabbix
zabbix_agentd
netstat -ntulp | grep :10050
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 9351/zabbix_agentd
访问网页 http://139.9.58.6/index.php
1 配置 --> 主机
2 创建主机
3 添加主机信息
4 添加模块
5 监测添加的主机
主机:192.168.1.5
1 修改被监控端的Agent配置文件
vim /usr/local/etc/zabbix_agentd.conf
UnsafeUserParameters=1 #是否允许自定义key
Include=/usr/local/etc/zabbix_agentd.conf.d/ #加载配置文件目录
2 创建自定义key
语法格式: UserParameter=自定义key名称,命令
cd /usr/local/etc/zabbix_agentd.conf.d/
vim count.line.passwd #创建文件
UserParameter=count.line.passwd,wc -l /etc/passwd | awk '{print $1}' #统记用户数量
3 重启Agentd
killall zabbix_agentd
zabbix_agentd
4 测试自定义key是否生效
zabbix_get -s 127.0.0.1 -k count.line.passwd
//如果提示 Check access restrictions in Zabbix agent configuration
//则需要检查配置文件
Server=127.0.0.1,192.168.2.11
ServerActive=127.0.0.1,192.168.2.11:10051