监控概述,zabbix基础,zabbix监控服务

一 部署Zabbix监控平台

环境:                        zabbixserver                    eth1--192.168.2.5

                                  zabbixclient_web1           eth1--192.168.2.100

                                  zabbixclient_web2           eth1--192.168.2.200

NO.1  部署监控服务器

1)在zabbixserver上安装LNMP环境 

2)修改Nginx配置文件       

  1. [root@zabbix server ~]# vim /usr/local/nginx/conf/nginx.conf
  2. … …
  3. http{
  4. … …
  5.     fastcgi_buffers 8 16k;                 //缓存php生成的页面内容,8个16k
  6.     fastcgi_buffer_size 32k;                 //缓存php生产的头部信息
  7.     fastcgi_connect_timeout 300;             //连接PHP的超时时间
  8.     fastcgi_send_timeout 300;                 //发送请求的超时时间
  9.     fastcgi_read_timeout 300;                     //读取请求的超时时间
  10. location ~ \.php$ {
  11.      root html;
  12.      fastcgi_pass 127.0.0.1:9000;
  13.      fastcgi_index index.php;
  14.      include fastcgi.conf;
  15. }
  16. … …

3)启动nginx,php-fpm,mariadb,关闭防火墙以及selinux

NO.2  部署监控服务器zabbix server

1)源码安装Zabbix Server       

扫描二维码关注公众号,回复: 5427589 查看本文章
  1. [root@zabbixserver lnmp_soft]# yum -y install net-snmp-devel \
  2. > curl-devel
  3. //安装相关依赖包
  4. [root@zabbixserver lnmp_soft]# yum -y install \
  5. > libevent-devel-2.0.21-4.el7.x86_64.rpm
  6. //注意libevent-devel这个软件包在lnmp_soft目录下有提供
  7. [root@zabbixserver lnmp_soft]# tar -xf zabbix-3.4.4.tar.gz
  8. [root@zabbixserver lnmp_soft]# cd zabbix-3.4.4/
  9. [root@zabbixserver zabbix-3.4.4]# ./configure --enable-server \
  10. > --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config \
  11. > --with-net-snmp --with-libcurl
  12. // --enable-server安装部署zabbix服务器端软件
  13. // --enable-agent安装部署zabbix被监控端软件
  14. // --enable-proxy安装部署zabbix代理相关软件
  15. // --with-mysql配置mysql_config路径
  16. // --with-net-snmp允许zabbix通过snmp协议监控其他设备
  17. // --with-libcurl安装相关curl库文件,这样zabbix就可以通过curl连接http等服务,测试被监控主机服务的状态
  18. [root@zabbix server zabbix-3.4.4]# make && make install

2)初始化Zabbix

创建数据库,上线Zabbix的Web页面               

  1. [root@zabbixserver ~]# mysql
  2. mysql> create database zabbix character set utf8;
  3. //创建数据库,支持中文字符集
  4. mysql> grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';
  5. //创建可以访问数据库的账户与密码
  6. [root@zabbixserver ~]# cd lnmp_soft/zabbix-3.4.4/database/mysql/
  7. [root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql
  8. [root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < images.sql
  9. [root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < data.sql
  10. //刚刚创建是空数据库,zabbix源码包目录下,有提前准备好的数据
  11. //使用mysql导入这些数据即可(注意导入顺序)

        上线Zabbix的Web页面               

  1. [root@zabbixserver ~]# cd lnmp_soft/zabbix-3.4.4/frontends/php/
  2. [root@zabbixserver php]# cp -r * /usr/local/nginx/html/
  3. [root@zabbixserver php]# chmod -R 777 /usr/local/nginx/html/*

        

修改Zabbix_server配置文件,设置数据库相关参数,启动Zabbix_server服务       

  1. [root@zabbixserver ~]# vim /usr/local/etc/zabbix_server.conf
  2. DBHost=localhost
  3. //数据库主机,默认该行被注释
  4. DBName=zabbix
  5. //设置数据库名称
  6. DBUser=zabbix
  7. //设置数据库账户
  8. DBPassword=zabbix
  9. //设置数据库密码,默认该行被注释
  10. LogFile=/tmp/zabbix_server.log    
  11. //设置日志,仅查看以下即可
  12. [root@zabbixserver ~]# useradd -s /sbin/nologin Zabbix
  13. //不创建用户无法启动服务
  14. [root@zabbixserver ~]# zabbix_server                 //启动服务
  15.  
  16. [root@zabbixserver ~]# ss -ntulp |grep zabbix_server //确认连接状态,端口10051
  17. tcp LISTEN 0 128 *:10051 *:* users:(("zabbix_server",pid=23275,fd=4),("zabbix_server",pid=23274,fd=4)

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

  1. [root@zabbixserver ~]# vim /usr/local/etc/zabbix_agentd.conf
  2. Server=127.0.0.1,192.168.2.5                    //允许哪些主机监控本机
  3. ServerActive=127.0.0.1,192.168.2.5                //允许哪些主机通过主动模式监控本机
  4. Hostname=zabbix_server                        //设置本机主机名
  5. LogFile=/tmp/zabbix_server.log                    //设置日志文件
  6. UnsafeUserParameters=1                        //是否允许自定义key
  7. [root@zabbixserver ~]# zabbix_agentd            //启动监控agent
  8.  
  9. [root@zabbixserver ~]# ss -ntulp |grep zabbix_agentd //查看端口信息为10050        

根据错误提示,修改PHP配置文件,满足Zabbix_server的Web环境要求

php-bcmath和php-mbstring都在lnmp_soft目录下有提供软件包。                

  1. root@zabbixserver ~]# yum -y install php-gd php-xml
  2. [root@zabbixserver ~]# yum install php-bcmath-5.4.16-42.el7.x86_64.rpm
  3. [root@zabbixserver ~]# yum install php-mbstring-5.4.16-42.el7.x86_64.rpm
  4. [root@zabbixserver ~]# vim /etc/php.ini
  5. date.timezone = Asia/Shanghai                //设置时区
  6. max_execution_time = 300                    //最大执行时间,秒
  7. post_max_size = 32M                        //POST数据最大容量
  8. max_input_time = 300                        //服务器接收数据的时间限制
  9. memory_limit = 128M                        //内存容量限制
  10. [root@zabbixserver ~]# systemctl restart php-fpm

NO.3  部署被监控主机Zabbix Agent       

1)源码安装Zabbix agent软件

在2.100和2.200做相同操作(以web1为例)。

                [root@web1 ~]# useradd -s /sbin/nologin zabbix

  1. [root@web1 ~]# yum -y install gcc pcre-devel
  2. [root@web1 ~]# tar -xf zabbix-3.4.4.tar.gz
  3. [root@web1 ~]# cd zabbix-3.4.4/
  4. [root@web1 zabbix-3.4.4]# ./configure --enable-agent
  5. [root@web1 zabbix-3.4.4]# make && make install

        2 ) 拷贝启动脚本(非必须操作,可选做),有启动脚本可以方便管理服务,启动与关闭服务。启动脚本位于zabbix源码目录下。               

  1. [root@web1 zabbix-3.4.4]# cd misc/init.d/fedora/core
  2. [root@web1 zabbix-3.4.4]# cp zabbix_agentd /etc/init.d/
  3. [root@web1 zabbix-3.4.4]# /etc/init.d/Zabbix_agentd start    
  4. [root@web1 zabbix-3.4.4]# /etc/init.d/Zabbix_agentd stop
  5. [root@web1 zabbix-3.4.4]# /etc/init.d/Zabbix_agentd status
  6. [root@web1 zabbix-3.4.4]# /etc/init.d/Zabbix_agentd restart

        service zabbix_agentd start/stop/restart/status

 /etc/init.d/zabbix_agentd  start/stop/restart/status             //两种方法一样的效果

vim  /etc/systemd/system/multi-user.target.wants/zabbix_server.service

[Unit]
Description=zabbix_server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/etc/init.d/zabbix_server start
ExecReload=/etc/init.d/zabbix_server restart
ExecStop=/etc/init.d/zabbix_server stop
PrivateTmp=true
User=zabbix
Group=zabbix

[Install]
WantedBy=multi-user.target

systemctl  start    zabbix_server.service

systemctl  restart zabbix_server.service

systemctl   stop    zabbix_server.service

systemctl   status zabbix_server.service

        3)修改agent配置文件,启动Agent               

  1. [root@web1 ~]# vim /usr/local/etc/zabbix_agentd.conf
  2. Server=127.0.0.1,192.168.2.5                //谁可以监控本机(被动监控模式)
  3. ServerActive=127.0.0.1,192.168.2.5            //谁可以监控本机(主动监控模式)
  4. Hostname=zabbix_client_web1                //被监控端自己的主机名
  5. EnableRemoteCommands=1    
  6. //监控异常后,是否允许服务器远程过来执行命令,如重启某个服务
  7. UnsafeUserParameters=1                    //是否允许自定义key监控
  8. [root@web1 ~]# zabbix_agentd                //启动agent服务

四 自定义Zabbix监控项目

       NO.1     被监控主机创建自定义key(在192.168.2.100操作)                          

1)创建自定义key

自定义key语法格式为:UserParameter=自定义key名称,命令。

自定义的key文件一般存储在/usr/local/etc/zabbix_agentd.conf.d/目录,这里还需要修改zabbix_agentd.conf文件,允许自定义监控key,来读取该目录下的所有文件 。               

  1. root@web1 ~]# vim /etc/zabbix/zabbix_agentd.conf
  2. Include=/usr/local/etc/zabbix_agentd.conf.d/                //加载配置文件目录
  3. [root@web1 ~]# cd /usr/local/etc/zabbix_agentd.conf.d/
  4. [root@web1 zabbix_agentd.conf.d]# vim count.line.passwd
  5. UserParameter=count.line.passwd,wc -l /etc/passwd | awk ' {print $1} '
  6. ////自定义key语法格式:
  7. //UserParameter=自定义key名称,命令    定义后重启服务
  8.  [root@web1 ~]# zabbix_get -s 127.0.0.1 -k count.line.passwD

猜你喜欢

转载自blog.csdn.net/jon_stark/article/details/80389373