zabbix 搭建

Zabbix 搭建
步骤一:部署监控服务器
1)安装LNMP环境
Zabbix监控管理控制台需要通过Web页面展示出来,并且还需要使用MySQL来存储数据,因此需要先为Zabbix准备基础LNMP环境。

  1. [root@zabbixserver ~]# yum -y install gcc pcre-devel openssl-devel
  2. [root@zabbixserver ~]# tar -xf nginx-1.12.2.tar.gz
  3. [root@zabbixserver ~]# cd nginx-1.12.2
  4. [root@zabbixserver nginx-1.12.2]# ./configure --with-http_ssl_module
  5. [root@zabbixserver nginx-1.12.2]# make && make install
  6. [root@zabbixserver ~]# yum -y install php php-mysql \
  7. mariadb mariadb-devel mariadb-server

  8. [root@zabbixserver ~]# yum -y install php-fpm-5.4.16-42.el7.x86_64.rpm
  9. //注意,php-fpm这个软件包在lnmp_soft/目录下
    2)修改Nginx配置文件
    配置Nginx支持PHP动态网站,因为有大量PHP脚本需要执行,因此还需要开启Nginx的各种fastcgi缓存,加速PHP脚本的执行速度。
  10. [root@zabbixserver ~]# vim /usr/local/nginx/conf/nginx.conf
  11. … …
  12. http{
  13. … …
  14. fastcgi_buffers 8 16k;                 //缓存php生成的页面内容,8个16k
  15. fastcgi_buffer_size 32k;                 //缓存php生产的头部信息
  16. fastcgi_connect_timeout 300;             //连接PHP的超时时间
  17. fastcgi_send_timeout 300;                 //发送请求的超时时间
  18. fastcgi_read_timeout 300;                     //读取请求的超时时间
  19. location ~ .php$ {
  20. root html;
  21. fastcgi_pass 127.0.0.1:9000;
  22. fastcgi_index index.php;
  23. include fastcgi.conf;
  24. }
  25. … …
    3)启动服务
    启动Nginx、PHP-FPM、MariaDB服务,关闭SELinux与防火墙。
  26. [root@zabbixserver ~]# systemctl start mariadb
  27. [root@zabbixserver ~]# systemctl start php-fpm
  28. [root@zabbixserver ~]# ln -s /usr/local/nginx/sbin/nginx /sbin/nginx
  29. [root@zabbixserver ~]# nginx
  30. [root@zabbixserver ~]# firewall-cmd --set-default-zone=trusted
  31. [root@zabbixserver ~]# setenforce 0
    4)客户端测试LNMP环境
    服务器创建PHP测试页面,浏览器访问页面测试网页连通性。
  32. [root@zabbixserver ~]# cat /usr/local/nginx/html/test.php
  33. <?php
  34. $i=33;
  35. echo $i;
  36. ?>
  37. [root@zabbixserver ~]# curl http://192.168.2.5/test.php
    步骤二:部署监控服务器Zabbix Server
    1)源码安装Zabbix Server
    多数源码包都是需要依赖包的,zabbix也一样,源码编译前需要先安装相关依赖包。
  38. [root@zabbixserver lnmp_soft]# yum -y install net-snmp-devel \
  39. curl-devel

  40. //安装相关依赖包
  41. [root@zabbixserver lnmp_soft]# yum -y install \
  42. libevent-devel-2.0.21-4.el7.x86_64.rpm

  43. //注意libevent-devel这个软件包在lnmp_soft目录下有提供
  44. [root@zabbixserver lnmp_soft]# tar -xf zabbix-3.4.4.tar.gz
  45. [root@zabbixserver lnmp_soft]# cd zabbix-3.4.4/
  46. [root@zabbixserver zabbix-3.4.4]# ./configure --enable-server \
  47. –enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config \

  48. –with-net-snmp --with-libcurl

  49. // --enable-server安装部署zabbix服务器端软件
  50. // --enable-agent安装部署zabbix被监控端软件
  51. // --enable-proxy安装部署zabbix代理相关软件
  52. // --with-mysql配置mysql_config路径
  53. // --with-net-snmp允许zabbix通过snmp协议监控其他设备
  54. // --with-libcurl安装相关curl库文件,这样zabbix就可以通过curl连接http等服务,测试被监控主机服务的状态
  55. [root@zabbixserver zabbix-3.4.4]# make && make install
    2)初始化Zabbix
    创建数据库,上线Zabbix的Web页面
  56. [root@zabbixserver ~]# mysql
  57. mysql> create database zabbix character set utf8;
  58. //创建数据库,支持中文字符集
  59. mysql> grant all on zabbix.* to zabbix@‘localhost’ identified by ‘zabbix’;
  60. //创建可以访问数据库的账户与密码
  61. [root@zabbixserver ~]# cd lnmp_soft/zabbix-3.4.4/database/mysql/
  62. [root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql
  63. [root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < images.sql
  64. [root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < data.sql
  65. //刚刚创建是空数据库,zabbix源码包目录下,有提前准备好的数据
  66. //使用mysql导入这些数据即可(注意导入顺序)
    上线Zabbix的Web页面
  67. [root@zabbixserver ~]# cd lnmp_soft/zabbix-3.4.4/frontends/php/
  68. [root@zabbixserver php]# cp -r * /usr/local/nginx/html/
  69. [root@zabbixserver php]# chmod -R 777 /usr/local/nginx/html/*
    修改Zabbix_server配置文件,设置数据库相关参数,启动Zabbix_server服务
  70. [root@zabbixserver ~]# vim /usr/local/etc/zabbix_server.conf
  71. DBHost=localhost
  72. //数据库主机,默认该行被注释
  73. DBName=zabbix
  74. //设置数据库名称
  75. DBUser=zabbix
  76. //设置数据库账户
  77. DBPassword=zabbix
  78. //设置数据库密码,默认该行被注释
  79. LogFile=/tmp/zabbix_server.log
  80. //设置日志,仅查看以下即可
  81. [root@zabbixserver ~]# useradd -s /sbin/nologin zabbix
  82. //不创建用户无法启动服务
  83. [root@zabbixserver ~]# zabbix_server                 //启动服务
  84. [root@zabbixserver ~]# ss -ntulp |grep zabbix_server //确认连接状态,端口10051
  85. tcp LISTEN 0 128 *:10051 : users:((“zabbix_server”,pid=23275,fd=4),(“zabbix_server”,pid=23274,fd=4)
    提示:如果是因为配置文件不对,导致服务无法启动时,不要重复执行zabbix_server,
    一定要先使用killall zabbix_server关闭服务后,再重新启动一次。
    修改Zabbix_agent配置文件,启动Zabbix_agent服务
  86. [root@zabbixserver ~]# vim /usr/local/etc/zabbix_agentd.conf
  87. Server=127.0.0.1,192.168.2.5                    //允许哪些主机监控本机
  88. ServerActive=127.0.0.1,192.168.2.5                //允许哪些主机通过主动模式监控本机
  89. Hostname=zabbix_server                        //设置本机主机名
  90. LogFile=/tmp/zabbix_server.log                    //设置日志文件
  91. UnsafeUserParameters=1                        //是否允许自定义key
  92. [root@zabbixserver ~]# zabbix_agentd            //启动监控agent
  93. [root@zabbixserver ~]# ss -ntulp |grep zabbix_agentd //查看端口信息为10050
  94. tcp LISTEN 0 128 *:10050 : users:((“zabbix_agentd”,pid=23505,fd=4),(“zabbix_agentd”,pid=23504,fd=4)
    提示:如果是因为配置文件不对,导致服务无法启动时,不要重复执行zabbix_agentd,
    一定要先使用killall zabbix_agentd关闭服务后,再重新启动一次。
    浏览器访问Zabbix_server服务器的Web页面
  95. [root@zabbixserver ~]# firefox http://192.168.2.5/index.php
  96. //第一次访问,初始化PHP页面会检查计算机环境是否满足要求,如果不满足会给出修改建议
  97. //默认会提示PHP的配置不满足环境要求,需要修改PHP配置文件
    根据错误提示,修改PHP配置文件,满足Zabbix_server的Web环境要求
    php-bcmath和php-mbstring都在lnmp_soft目录下有提供软件包。
  98. [root@zabbixserver ~]# yum -y install php-gd php-xml
  99. [root@zabbixserver ~]# yum install php-bcmath-5.4.16-42.el7.x86_64.rpm
  100. [root@zabbixserver ~]# yum install php-mbstring-5.4.16-42.el7.x86_64.rpm
  101. [root@zabbixserver ~]# vim /etc/php.ini
  102. date.timezone = Asia/Shanghai                //设置时区
  103. max_execution_time = 300                    //最大执行时间,秒
  104. post_max_size = 32M                        //POST数据最大容量
  105. max_input_time = 300                        //服务器接收数据的时间限制
  106. memory_limit = 128M                        //内存容量限制
  107. [root@zabbixserver ~]# systemctl restart php-fpm
    在登陆页面,使用用户(admin)和密码(zabbix)登陆,登陆后设置语言环境为中文

步骤三:部署被监控主机Zabbix Agent
1)源码安装Zabbix agent软件
在2.100和2.200做相同操作(以zabbixclient_web1为例)。

  1. [root@zabbixclient_web1 ~]# useradd -s /sbin/nologin zabbix

  2. [root@zabbixclient_web1 ~]# yum -y install gcc pcre-devel

  3. [root@zabbixclient_web1 ~]# tar -xf zabbix-3.4.4.tar.gz

  4. [root@zabbixclient_web1 ~]# cd zabbix-3.4.4/

  5. [root@zabbixclient_web1 zabbix-3.4.4]# ./configure --enable-agent

  6. [root@zabbixclient_web1 zabbix-3.4.4]# make && make install
    2)修改agent配置文件,启动Agent

  7. [root@zabbixclient_web1 ~]# vim /usr/local/etc/zabbix_agentd.conf

  8. Server=127.0.0.1,192.168.2.5                //谁可以监控本机(被动监控模式)

  9. ServerActive=127.0.0.1,192.168.2.5            //谁可以监控本机(主动监控模式)

  10. Hostname=zabbixclient_web1                 //被监控端自己的主机名

  11. EnableRemoteCommands=1

  12. //监控异常后,是否允许服务器远程过来执行命令,如重启某个服务

  13. UnsafeUserParameters=1                     //是否允许自定义key监控

  14. [root@zabbixclient_web1 ~]# zabbix_agentd                //启动agent服务
    3)拷贝启动脚本(非必须操作,可选做),有启动脚本可以方便管理服务,启动与关闭服务。启动脚本位于zabbix源码目录下。

  15. [root@zabbixclient_web1 zabbix-3.4.4]# cd misc/init.d/fedora/core

  16. [root@zabbixclient_web1 zabbix-3.4.4]# cp zabbix_agentd /etc/init.d/

  17. [root@zabbixclient_web1 zabbix-3.4.4]# /etc/init.d/zabbix_agentd start

  18. [root@zabbixclient_web1 zabbix-3.4.4]# /etc/init.d/zabbix_agentd stop

  19. [root@zabbixclient_web1 zabbix-3.4.4]# /etc/init.d/zabbix_agentd status

  20. [root@zabbixclient_web1 zabbix-3.4.4]# /etc/init.d/zabbix_agentd restart
    4 案例4:自定义Zabbix监控项目
    4.1 问题
    沿用练习二,使用Zabbix实现自定义监控,实现以下目标:监控Linux服务器系统账户的数量。
    4.2 方案
    需要使用Zabbix自定义key的方式实现自定义监控,参考如下操作步骤:

  21. 创建自定义key

  22. 创建监控项目

  23. 创建监控图形

  24. 将监控模板关联到主机
    4.3 步骤
    实现此案例需要按照如下步骤进行。
    步骤一:被监控主机创建自定义key(在192.168.2.100操作)
    1)创建自定义key
    自定义key语法格式为:UserParameter=自定义key名称,命令。
    自定义的key文件一般存储在/usr/local/etc/zabbix_agentd.conf.d/目录,这里还需要修改zabbix_agentd.conf文件,允许自定义监控key,来读取该目录下的所有文件 。

  25. [root@zabbixclient_web1 ~]# vim /usr/local/etc/zabbix_agentd.conf

  26. Include=/usr/local/etc/zabbix_agentd.conf.d/                //加载配置文件目录

  27. [root@zabbixclient_web1 ~]# cd /usr/local/etc/zabbix_agentd.conf.d/

  28. [root@zabbixclient_web1 zabbix_agentd.conf.d]# vim count.line.passwd

  29. UserParameter=count.line.passwd,wc -l /etc/passwd | awk ’ {print $1} ’

  30. 自定义key语法格式:

  31. //UserParameter=自定义key名称,命令
    2)测试自定义key是否正常工作

  32. [root@zabbixclient_web1 ~]# killall zabbix_agentd

  33. [root@zabbixclient_web1 ~]# zabbix_agentd                                //重启agent服务

  34. [root@zabbixclient_web1 ~]# zabbix_get -s 127.0.0.1 -k count.line.passwd

  35. 21
    注意:如zabbix_get命令执行错误,提示Check access restrictions in Zabbix agent configuration,则需要检查agent配置文件是否正确:

  36. [root@zabbixclient_web1 ~]# vim /usr/local/etc/zabbix_agentd.conf

  37. Server=127.0.0.1,192.168.2.5

  38. ServerActive=127.0.0.1,192.168.2.5
    步骤二:创建监控模板
    1)添加监控模板
    登录Zabbix Web监控控制台,通过Configuration(配置)–>Template(模板)–>Create template(创建模板),填写模板名称,新建模板群组,如图-13所示。
    创建模板后,默认模板中没有任何应用、项目、触发器、图形等,如图-14所示。
    2)创建应用
    创建完成模板后,默认模板中没有任何应用、项目、触发器、图形等资源。这里需要点击模板后面的Application(应用集)链接打开创建应用的页面,如图-15所示
    点击Application(应用集)后,会刷新出图-16所示页面,在该页面中点击Create application(创建应用集)按钮
    3)创建监控项目item(监控项)
    与创建应用一样,在模板中还需要创建监控项目,如图-18所示,并在刷新出的新页面中选择Create items(创建监控项)创建项目
    接下来,还需要给项目设置名称及对应的自定义key
    4)创建图形
    为了后期可以通过图形的方式展示监控数据,还需要在模板中创建图形,设置方法与前面的步骤一致,在监控模板后面点击Graph(图形)即可创建图形,设置监控图形基于什么监控数据
    5)将模板链接到被监控主机
    将完整的监控模板制作完成后,就可以将模板链接到主机实现监控功能了。首先找到被监控主机Configuration(配置)–>Hosts(主机)
    点击需要的被监控主机链接,打开监控主机设置页面,在Template(模板)页面中选择需要链接到该主机的模板,在此选择刚刚创建的模板count_line.passwd添加即可
    6)查看监控数据图形
    点击Monitoring(监控中)–>Craphs(图形),根据需要选择条件,查看监控图形

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值