第一章 zabbix监控的意义
1.1 为什么要监控
- 业务安全性的保障
- 系统的保障
- 产品持续性的运行
1.2 监控的内容
1.3 zabbix的选择性
- [x] 纯命令监控太局限性
- [x] 监控三剑客(Nagios、zabbix、Cacti )
- [x] 可及时发现故障,并在故障恢复的第一时间得到通知
- [x] 灵活运用,包括zabbix的阈值定义,自动发现,API接口,触发动作等功能
1.4 zabbix的工作组件及告警流程
- 数据采集:Zabbix 通过 SNMP、Agent、ICMP、SSH、IPMI 等对系统进行数据采集。
- 数据存储: Zabbix存储在MySQL上,也可以存储在其他数据库服务。
- 数据分析:当我们事后需要复盘分析故障时,zabbix能给我们提供图形以及时间等相关信息,方面我们确定故障所在。
- 数据展示:web界面展示、(移动APP、java_php开发一个web界面也可以)。
- 监控报警:电话报警、邮件报警、微信报警、短信报警、报警升级机制等(无论什么报警都可以)。
- 报警处理:当接收到报警,我们需要根据故障的级别进行处理,比如:重要紧急、重要不紧急,等。根据故障的级别,配合相关的人员进行快速处理。
第二章 zabbix的安装部署及使用
注意:安装zabbix要求还是比较多的
硬件方面:以监控主机台数而定。
软件方面:源码安装,lamp/lnmp的版本要求,php的扩展包等。
https://www.zabbix.com zabbix的官方网站。
2.1 源码安装zabbix服务端
部署nginx
-
[root@localhost opt]# yum install gcc openssl openssl-devel pcre pcre-devel -y #安装依赖 [root@localhost opt]# rz -y #rz上传软件包 [root@localhost opt]# ls nginx-1.12.2.tar.gz [root@localhost opt]# useradd -r -s /sbin/nologin nginx #创建nginx用户 [root@localhost opt]# tar xf nginx-1.12.2.tar.gz && cd nginx-1.12.2 #解压,进入目录 [root@localhost nginx-1.12.2]# ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module #编译 [root@localhost nginx-1.12.2]# make && make install #安装 [root@localhost nginx-1.12.2]# /usr/local/nginx/sbin/nginx #直接启动nginx [root@localhost nginx-1.12.2]# ps -ef |grep nginx #可查看nginx是否启动
部署php
-
[root@localhost nginx-1.12.2]# yum install -y gcc gcc-c++ make gd-devel libxml2-devel \ > libcurl-devel libjpeg-devel libpng-devel openssl-devel \ > libxslt-devel #安装依赖 [root@localhost opt]# rz -y #上传软件包,亦可直接wget [root@localhost opt]# ls php-5.6.36.tar.gz ****************************************************************************************** [root@localhost opt]# wget http://docs.php.net/distributions/php-5.6.36.tar.gz [root@localhost opt]# tar xf php-5.6.36.tar.gz #解压 [root@localhost opt]# cd php-5.6.36/ #进入安装目录 [root@localhost php-5.6.36]# ./configure --prefix=/usr/local/php \ > --with-config-file-path=/usr/local/php/etc \ > --enable-fpm --enable-opcache \ > --with-mysql --with-mysqli \ > --enable-session --with-zlib --with-curl --with-gd \ > --with-jpeg-dir --with-png-dir --with-freetype-dir \ > --enable-mbstring --enable-xmlwriter --enable-xmlreader \ > --enable-xml --enable-sockets --enable-bcmath --with-gettext #编译 [root@localhost php-5.6.36]# make -j 8 && make install #安装 [root@localhost php-5.6.36]# cp php.ini-production /usr/local/php/etc/php.ini #拷贝模块文件 [root@localhost php-5.6.36]# cp sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf [root@localhost php-5.6.36]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm [root@localhost php-5.6.36]# cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/ [root@localhost php-5.6.36]# chmod +x /etc/init.d/php-fpm #启动文件权限 [root@localhost php-5.6.36]# /etc/init.d/php-fpm start #启动php
部署mysql
-
[root@localhost php-5.6.36]# yum install cmake make gcc-c++ cmake bison-devel ncurses-devel perl-Module-Install.noarch -y #安装依赖 [root@localhost opt]# wget http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.27.tar.gz #下载mysql软件包 [root@localh