zabbix的介绍与搭建

所有主机关闭防火墙,selinux

 

1, 搭建lnmp环境
192.168.2.5上操作

mv lnmp_soft.tar.gz /usr/local/
cd /usr/local/lnmp_soft
ll
mv nginx-1.12.2.tar.gz  /usr/local/
yum -y install gcc pcre-devel openssl-devel
tar -xf nginx-1.12.2.tar.gz 
mv nginx-1.12.2 nginx
cd nginx
./configure --with-http_ssl_module
make && make install
yum -y install php php-mysql mariadb  mariadb-devel mariadb-server
yum -y install php-fpm
vim  /usr/local/nginx/conf/nginx.conf 
            fastcgi_buffers 8 16k;
            fastcgi_buffer_size  32k;
            fastcgi_connect_timeout 300;
            fastcgi_send_timeout 300;
            fastcgi_read_timeout 300;
        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            include        fastcgi.conf;
        }

systemctl start mariadb
systemctl start php-fpm
ln -s /usr/local/nginx/sbin/nginx /sbin/nginx
firewall-cmd --set-default-zone=trusted
setenforce 0
sed -i '/SELINUX/s/enforcing/permissive/'  /etc/selinux/config
vim /usr/local/nginx/html/test.php
  <?php
  $i=33
  echo $i;
  ?>
mkdir -p /usr/local/nginx/logs
/usr/local/nginx/sbin/nginx

ps -ef | grep nginx
root      9837     1  0 17:19 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nobody    9838  9837  0 17:19 ?        00:00:00 nginx: worker process
root      9850  1526  0 17:31 pts/0    00:00:00 grep --color=auto nginx

curl http://192.168.2.5/test.php    #不报错即可

 

 2,部署监控服务器zabbix  server

 1,源码安装azbbix server    多数源码包都是需要依赖包的,zabbix亦一样,源码编译前需要先安装相关依赖包

cd /usr/local/lnmp_soft
mv zabbix-3.4.4.tar.gz /usr/local/
cd /usr/local/
tar -xf zabbix-3.4.4.tar.gz 
mv zabbix-3.4.4 zabbix
cd zabbix
./configure --enable-server --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl
make && make install
[root@zabbixserver zabbix]# ll /usr/local/sbin/
总用量 10828
-rwxr-xr-x. 1 root root 1456936 10月 28 13:05 zabbix_agentd
-rwxr-xr-x. 1 root root 4126856 10月 28 13:05 zabbix_proxy
-rwxr-xr-x. 1 root root 5497136 10月 28 13:05 zabbix_server

yum -y install net-snmp-devel curl-devel autoconf libevent-devel
mysql   #登录数据库
create database zabbix character set utf8;
grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';
use zabbix;
show tables;
cd /usr/local/zabbix/database/mysql/
mysql -uzabbix -pzabbix zabbix < schema.sql
mysql -uzabbix -pzabbix zabbix < schema.sql
mysql -uzabbix -pzabbix zabbix < images.sql
mysql -uzabbix -pzabbix zabbix < data.sql
再看表

vim /usr/local/etc/zabbix_server.conf
85 定义哪台主机为数据库主机
95 设置数据库名称
111 设置数据库账号
119 设置数据库密码
38 查看日志

useradd -s /sbin/nologin zabbix
zabbix_server
echo zabbix_server >> /etc/rc.local
chmod +x /etc/rc.local
[root@zabbixserver zabbix]# ss  -ntulp | grep zabbix_server
tcp    LISTEN     0      128       *:10051                 *:*                   users:(("zabbix_server",pid=29242,fd=4),("zabbix_server",pid=29241,fd=4),("zabbix_server",pid=29240,fd=4),("zabbix_server",pid=29239,fd=4),("zabbix_server",pid=29236,fd=4),("zabbix_server",pid=29235,fd=4),("zabbix_server",pid=29234,fd=4),("zabbix_server",pid=29226,fd=4),("zabbix_server",pid=29225,fd=4),("zabbix_server",pid=29223,fd=4),(zabbix_server",pid=29222,fd=4),("zabbix_server",pid=29219,fd=4),("zabbix_server",pid=29218,fd=4),("zabbix_server",pid=29217,fd=4),("zabbix_server",pid=29216,fd=4),("zabbix_server",pid=29215,fd=4),("zabbix_server",pid=29214,fd=4),("zabbix_server",pid=29210,fd=4),("zabbix_server",pid=29209,fd=4),("zabbix_server",pid=29206,fd=4),("zabbix_server",pid=29205,fd=4),("zabbix_server",pid=29203,fd=4),("zabbix_server",pid=29202,fd=4),("zabbix_server",pid=29197,fd=4),("zabbix_server",pid=29196,fd=4),("zabbix_server",pid=29195,fd=4),("zabbix_server",pid=29194,fd=4),("zabbix_server",pid=29193,fd=4),("zabbix_server",pid=29192,fd=4),("zabbix_server",pid=29191,fd=4),("zabbix_server",pid=29190,fd=4),("zabbix_server",pid=29189,fd=4),("zabbix_server",pid=29188,fd=4),("zabbix_server",pid=29183,fd=4))

提示,如果是因为配置文件不对,导致服务无法启动时,不要重复执行zabbix_server,
一定要先使用killall zabbix_server关闭服务后,再重新启动一次
安装psmisc软件包,才有killall命令
附件知识:也可以通过创建service文件管理zabbix服务
 

cd /usr/lib/systemd/system/
vim zabbix_server.server

[Unit]
Description=zabbix_server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/tmp/zabbix_server.pid
ExecStart=/usr/local/sbin/zabbix_server
ExecStop=/bin/kill $MAINPID
[Install]
WantedBy=multi-user.target

修改zabbix_agent配置文件,启动zabbix_agent服务

vim /usr/local/etc/zabbix_agentd.conf
93 允许哪些主机监控本机
134 允许哪些主机通过主动模式监控本机
145 设置本机主机名
280 是否允许自定义监控传参 --为1


zabbix_agentd
echo zabbix_agentd >> /etc/rc.local
[root@zabbixserver zabbix]# ss -ntulp | grep zabbix_agentd
tcp    LISTEN     0      128       *:10050                 *:*                   users:(("zabbix_agentd",pid=29282,fd=4),("zabbix_agentd",pid=29281,fd=4),("zabbix_agentd",pid=29280,fd=4),("zabbix_agentd",pid=29279,fd=4),("zabbix_agentd",pid=29278,fd=4),("zabbix_agentd",pid=29277,fd=4),("zabbix_agentd",pid=29276,fd=4))

 上线zabbix的web页面

cd /usr/local/zabbix
cd frontends/php/
cp -r * /usr/local/nginx/html/
chown -R apache.apache /usr/local/nginx/html

浏览器访问:http://192.168.2.5/index.php

第一次访问,初始化php页面会检查计算机环境是否满足要求,如果不满足会给出修改建议
默认会提示php的配置不满足环境要求,需要修改php配置文件

根据错误提示,修改php配置文件,满足zabbix_server的web环境要求
yum -y install php-gd php-xml php-bcmath php-mbstring


878 date.timezone = Asia/Shanghai
384 max_execution_time = 300
672 post_max_size = 32M
394 max_input_time = 300
405 memory_limit = 128M 

878- 设置时区
384- 最大执行时间,秒
672- post数据最大容量
394- 服务器接受数据的时间限制
405- 内存容量限制


修改之后重启php
systemctl restart php-fpm

浏览器再次访问:http://192.168.2.5/index.php

部署被监控主机zabbix agent

1,源码安装zabbix agent软件 在2.100和2.200做相同操作(以web1为例)

useradd -s /sbin/nologin zabbix
yum -y install gcc pcre-devel autoconf
cd /usr/local/
tar -xf lnmp_soft.tar.gz 
cd lnmp_soft
cp -r zabbix-3.4.4.tar.gz /usr/local/
cd /usr/local/
tar -xf zabbix-3.4.4.tar.gz 
mv zabbix-3.4.4  zabbix
cd /usr/local/zabbix
./configure --enable-agent
make && make install
vim /usr/local/etc/zabbix_agentd.conf
93 谁可以监控本机(被动监控)
134 谁可以监控本机(主动监控)
145 被监控主机名
69 监控异常后,是否允许服务器远程过来执行命令,如重启某个服务
280 是否允许自定义key监控

zabbix_agentd 
[root@web1 zabbix]#ss -antulp | grep zabbix
tcp    LISTEN     0      128       *:10050                 *:*                   users:(("zabbix_agentd",pid=12582,fd=4),("zabbix_agentd",pid=12581,fd=4),("zabbix_agentd",pid=12580,fd=4),("zabbix_agentd",pid=12579,fd=4),("zabbix_agentd",pid=12578,fd=4),("zabbix_agentd",pid=12577,fd=4),("zabbix_agentd",pid=12576,fd=4))

echo zabbix_agentd >> /etc/rc.local
chmod +x /etc/rc.local


自定义监控

1,创建自定义key
自定义key语法格式为: UserParameter=自定义key名称,命名
自定义的key文件一般存储在/usr/local/etc/zabbix_agentd.conf.d/目录,这里还需修改zabbix.agentd.conf文件,允许自定义监控key,来读取该目录下的所有文件
 

vim /usr/local/etc/zabbix_agentd.conf
264 Include=/usr/local/etc/zabbix_agentd.conf.d/    #加载配置文件目录
cd /usr/local/etc/zabbix_agentd.conf.d/
vim count.line.passwd

UserParameter=count.line.passwd,sed -n '$=' /etc/passwd
#自定义key语法格式:
#UserParameter=自定义key名称,命令

killall zabbix_agentd
zabbix_agentd

[root@web1 zabbix_agentd.conf.d]# zabbix_get -s 127.0.0.1 -k count.line.passwd
20

主动监控,以192.168.2.200为例

vim /usr/local/etc/zabbix_server.conf
93 注释该行,允许谁监控本机  
#Server=127.0.0.1,192.168.2.200

118 被监控时启动几个agent进程监听10050端口 设置为0,则禁止被动监控,不启动zabbix_agentd服务  
StartAgents=0

134 允许哪些主机监控本机(主动模式),一定要取消127.0.0.1   
ServerActive=192.168.2.5

145 告诉监控服务器,是谁发的数据信息
一定要和zabbix服务器配置的监控主机名一致(后面设置)
Hostname=web2

183 默认120秒监测一次
RefreshActiveChecks=120

280 允许自定义监控传参
UnsafeUserParameters=1

264 自定义监控的位置
Include=/usr/local/etc/zabbix_agentd.conf.d/


killall zabbix_agentd
zabbix_agentd

 2,实验,监控nginx服务状态

1,部署nginx,安装nginx软件,开启status模块
 

cd /usr/local/
ll
cd lnmp_soft
ll
cp -r nginx-1.12.2.tar.gz  /usr/local/
cd ..
tar -xf nginx-1.12.2.tar.gz 
mv nginx-1.12.2 nginx
yum -y install gcc pcre-devel openssl-devel
cd nginx
./configure --with-http_stub_status_module
make && make install


添加
vim /usr/local/nginx/conf/nginx.conf
 location /status {
                 stub_status on;
        }



nginx]# mkdir -p logs
nginx]#/usr/local/nginx/sbin/nginx
nginx]# curl http://192.168.2.100/status
 
Reading: 0 Writing: 1 Waiting: 0 



vim /usr/local/bin/nginx_status.sh
#!/bin/bash
case $1 in
active)
    curl -s http://192.168.2.100/status |awk '/Active/{print $NF}';;
waiting)
    curl -s http://192.168.2.100/status |awk '/Waiting/{print $NF}';;
accepts)
    curl -s http://192.168.2.100/status |awk 'NR==3{print $2}';;
esac


chmod +x /usr/local/bin/nginx_status.sh

vim /usr/local/etc/zabbix_agentd.conf.d/nginx.status
UserParameter=nginx.status[*],/usr/local/bin/nginx_status.sh $1

killall zabbix_agentd
zabbix_agentd
zabbix_get  -s 127.0.0.1 -k 'nginx.status[accepts]'   测试效果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值