1.监控工具
Cacti–用于监控,以时间为单位。不停变化的数据(使用率-cpu 网络流量)
Nagios–主要用于监控服务状态on–off
一台web——同时100人请求–响应时候一个一个回复
一个人1s,回复100s–等待期间,不判定服务状态
软状态:在他确定死亡之前,所有测试获取的状态
硬状态:确定你game over
很多模板:监控什么?(监控什么系统?什么系统上什么服务?什么服务 什么指标?时间?报警给谁?)–都需要自己去定义
zabbix–zabbix是完全取代前两者,完全能够通过web页面去直观展示监控结果
SNMP--简单网络管理协议
多简单——认证上--
100台路由器--监控其中20台--“团体名”--明文传输
各个厂商都支持--监控流量(cpu 内存)
MIB库 OID --帮助建立监控体系(唯一性)
zabbix-proxy–分布式(1、跨机房,2、当下有终端过多(500台左右)分担Server压力
## 台左右)
## 万年老二—永远不可能单独工作,收集到agent数据,定期向Server汇报(Proxy具备自己的数据库,数据库+Proxy组件,绝对不可和Server同台服务器–进行数据备份)
官方-proxy不支持GUI界面
2.实战部署zabbix(本次安装以3.2版本为例,安装方法同样适用于4.0以上版本)
部署环境:centos7
[root@ceshi_server ~]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)部署前环境检查:
[root@ceshi_server ~]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 114.114.114.114
nameserver 8.8.8.8
[root@ceshi_server ~]# ping baidu.com
PING baidu.com (39.156.69.79) 56(84) bytes of data.
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=1 ttl=128 time=69.3 ms
[root@ceshi_server ~]# cd /etc/yum.repos.d/
[root@ceshi_server yum.repos.d]# ll
总用量 20
-rw-r--r-- 1 root root 67 11月 8 08:59 aa.repo
-rw-r--r-- 1 root root 990 11月 7 11:16 CentOS-Base.repo
-rw-r--r-- 1 root root 1050 9月 18 07:25 epel.repo
-rw-r--r-- 1 root root 1149 9月 18 07:25 epel-testing.repo
-rw-r--r-- 1 root root 120 11月 8 08:59 mongodb.repo
[root@ceshi_server yum.repos.d]# yum repolist all
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* epel: ftp.riken.jp
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
源标识 源名称 状态
!aa aa 启用: 24,570
!base/7/x86_64 CentOS-7 - Base - mirrors.aliyun.com 启用: 10,097
!epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 启用: 13,447
!extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com 启用: 305
!mongodb mongodb 启用: 10
!updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun.com 启用: 711
repolist: 49,140
如果没有安装epel源,请先安装,安装完重建yum元数据并更新yum软件包
yum -y install epel-release
yum clean all
yum makecache
yum update
下载zabbix安装包,可以通过wget官网下载链接,也可以下载到本地在上传,先安装两个辅助命令
yum -y install wget
yum -y install lrzsz
用法:
wget +下载链接。不指定路径默认当前路径
rz -E +包名(请用crt或者xshell执行)
因为官网下载链接较慢,可以切换到国内的源(请自行查阅相关文档),然后查看软件包是否下载成功或上传成功(这里不在演示zabbix软件包下载过程,我已经提前下载到本地,下载链接复制官网的即可或者下载到本地再上传也可)
[root@ceshi_server ~]# ll
总用量 15656
-rw-r--r-- 1 root root 16016367 11月 15 14:31 zabbix-3.2.7.tar.gz
解压软件包
[root@ceshi_server ~]# tar -zxvf zabbix-3.2.7.tar.gz
进入解压目录
[root@ceshi_server ~]# cd zabbix-3.2.7/
创建zabbix安装目录
[root@ceshi_server zabbix-3.2.7]# mkdir /usr/local/zabbix
开始进行预编译
[root@ceshi_server zabbix-3.2.7]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-libcurl
编译过程报错处理
configure: error: in `/root/zabbix-3.2.7':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
安装C语言依赖,解决此问题
yum -y install gcc gcc-c++
安装完c依赖后继续执行编译
[root@ceshi_server zabbix-3.2.7]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-libcurl
checking for mysql_config... no
configure: error: MySQL library not found
安装mysql-devel解决此报错
yum -y install mysql-devel
解决依赖后继续执行编译
[root@ceshi_server zabbix-3.2.7]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-libcurl
checking for curl-config... no
configure: error: Curl library not found
安装curl-deverl解决此报错
yum -y install curl-devel
解决依赖后继续执行编译
[root@ceshi_server zabbix-3.2.7]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-libcurl
预编译结束,如下
***********************************************************
* Now run 'make install' *
* *
* Thank you for using Zabbix! *
* <http://www.zabbix.com> *
开始编译安装zabbix
[root@ceshi_server zabbix-3.2.7]# make && make install
启动Apache,关闭防火墙,关闭selinux(或者自行添加防火墙规则和匹配上下文,为了方便我这里选择禁用)
[root@ceshi_server zabbix-3.2.7]# systemctl start httpd
[root@ceshi_server zabbix-3.2.7]# systemctl enable httpd
[root@ceshi_server zabbix-3.2.7]# iptables -F
[root@ceshi_server zabbix-3.2.7]# setenforce 0
[root@ceshi_server zabbix-3.2.7]# systemctl stop firewalld
拷贝zabbix目录下的php文件到Apache目录
[root@ceshi_server zabbix-3.2.7]# cp /root/zabbix-3.2.7/frontends/php/* /var/www/html/ -a
[root@ceshi_server zabbix-3.2.7]# systemctl restart httpd.service
打开浏览器输入http://ip
http://172.30.90.25
报错处理(谷歌浏览器自动翻译后的页面,注意看关键词)
PHP帖子的最小要求大小为16M(配置选项“ post_max_size”)。
PHP脚本执行时间的最低要求限制为300(配置选项“ max_execution_time”)。
PHP脚本的输入解析时间的最低要求限制为300(配置选项“ max_input_time”)。
未设置PHP的时区(配置参数“ date.timezone”)。
缺少PHP bcmath扩展名(PHP配置参数--enable-bcmath)。
缺少PHP mbstring扩展名(PHP配置参数--enable-mbstring)。
缺少PHP gd扩展名(PHP配置参数--with-gd)。
缺少PHP gd PNG图片支持。
缺少PHP gd JPEG图像支持。
缺少PHP gd FreeType支持。
PHP xmlwriter扩展名丢失。
PHP xmlreader扩展名丢失。
安装php相关组件依赖(需要用到开始安装的epel源)
yum -y install php-gd php-mbstring php-bcmath php-xml
[root@ceshi_server zabbix-3.2.7]# systemctl restart httpd
再次登录浏览器,刷新页面
PHP帖子的最小要求大小为16M(配置选项“ post_max_size”)。
PHP脚本执行时间的最低要求限制为300(配置选项“ max_execution_time”)。
PHP脚本的输入解析时间的最低要求限制为300(配置选项“ max_input_time”)。
未设置PHP的时区(配置参数“ date.timezone”)。
当前值 需要
PHP版本 5.4.16 5.4.0 好
PHP选项“ memory_limit” 128M 128M 好
PHP选项“ post_max_size” 8M 1600万 失败
PHP选项“ upload_max_filesize” 2M 2M 好
PHP选项“ max_execution_time” 30 300 失败
PHP选项“ max_input_time” 60 300 失败
修改php配置文件
[root@ceshi_server zabbix-3.2.7]# vim /etc/php.ini
:/post_max 直接定位到报错的关键行
post_max_size = 16M 就按报错提示的最低要求修改即可
:/max_exe 直接定位到报错的关键行
max_execution_time = 300 就按报错提示的最低要求修改即可
:/max_in 直接定位到报错的关键行
max_input_time = 300 就按报错提示的最低要求修改即可
:/date.time 直接定位到报错的关键行
date.timezone = Asia/shanghai 时区改为亚洲/上海,注意date前面的字符要去掉,否则修改无效
确认无误保存退出后重启apache
[root@ceshi_server zabbix-3.2.7]# systemctl restart httpd.service
再次刷新页面
PHP版本 5.4.16 5.4.0 好
PHP选项“ memory_limit” 128M 128M 好
PHP选项“ post_max_size” 1600万 1600万 好
PHP选项“ upload_max_filesize” 2M 2M 好
PHP选项“ max_execution_time” 300 300 好
PHP选项“ max_input_time” 300 300 好
PHP选项“ date.timezone” 亚洲/上海 好
PHP数据库支持 的MySQL
好
PHP的bcmath 上 好
PHP的mbstring 上 好
PHP选项“ mbstring.func_overload” 关 关 好
PHP套接字 上 好
PHP gd 2.1.0 2.0 好
PHP gd PNG支持 上 好
PHP gd JPEG支持 上 好
PHP gd FreeType支持 上 好
PHP的libxml 2.9.1 2.6.15 好
PHP xmlwriter 上 好
PHP xmlreader 上 好
PHP LDAP 关 警告
PHP的ctype 上 好
PHP会话 上 好
PHP选项“ session.auto_start” 关 关 好
PHP的gettext 上 好
PHP选项“ arg_separator.output” 和 和 好
全部ok后执行下一步(ldap警告忽略掉,未配置相关服务)
无法连接到数据库。
细节
连接数据库时出错:无法通过套接字'/var/lib/mysql/mysql.sock'(2)连接到本地MySQL服务器
启动数据库
[root@ceshi_server zabbix-3.2.7]# systemctl start mariadb.service
[root@ceshi_server zabbix-3.2.7]# systemctl enable mariadb.service
配置数据库
[root@ceshi_server zabbix-3.2.7]# mysql
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
创建数据库zabbix
MariaDB [(none)]> create database zabbix;
Query OK, 1 row affected (0.00 sec)
授权本地主机访问zabbix数据库权限
MariaDB [(none)]> grant all on *.* to 'zabbix'@'localhost' identified by '';
Query OK, 0 rows affected (0.00 sec)
刷新
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
设置完后exit退出数据库
再次刷新页面
无法连接到数据库。
细节
前端与Zabbix数据库不匹配。
创建zabbix数据库前端匹配
创建zabbix数据库用户
MariaDB [(none)]> use zabbix;
Database changed
MariaDB [zabbix]> show tables;
Empty set (0.00 sec)
导入zabbix数据库
[root@ceshi_server zabbix-3.2.7]# cd /root/zabbix-3.2.7/database/mysql/
[root@ceshi_server mysql]# ll
总用量 3068
-rw-r--r-- 1 bfchain bfchain 1036662 7月 18 2017 data.sql
-rw-r--r-- 1 bfchain bfchain 1978341 7月 18 2017 images.sql
-rw-r--r-- 1 bfchain bfchain 122134 7月 18 2017 schema.sql
[root@ceshi_server mysql]# mysql zabbix < schema.sql
[root@ceshi_server mysql]# mysql zabbix < images.sql
[root@ceshi_server mysql]# mysql zabbix < data.sql
再次刷新zabbix安装页面
Database type MySQL
Database server localhost
Database port default
Database name zabbix
Database user zabbix
Database password
Zabbix server localhost
Zabbix server port 10051
Zabbix server name
发现现在已经没有报错项了,点击下一步
下一步后出现如下提示
Cannot create the configuration file.
Details
Unable to create the configuration file.
Alternatively, you can install it manually:
Download the configuration file
Save it as "/var/www/html/conf/zabbix.conf.php"
解决方案
按照上面的提示,点击下载文件到本地,然后上传到上面的路径下面,注意,这里有个坑,请按我的操作执行,否则可能会陷入页面刷新死循环,如果发现上传后还是出现这个提示,请把拷贝的文件删除掉(cp /root/zabbix-3.2.7/frontends/php/* /var/www/html/ -a),重新拷贝,在执行下载上传操作
[root@ceshi_server html]# cd /var/www/html/conf/
[root@ceshi_server conf]# ll
总用量 8
-rw-r--r-- 1 bfchain bfchain 1036 7月 18 2017 maintenance.inc.php
-rw-r--r-- 1 bfchain bfchain 411 7月 18 2017 zabbix.conf.php.example
用开始说的rz命令上传文件到此目录下面
[root@ceshi_server conf]# rz -E
rz waiting to receive.
Starting zmodem transfer. Press Ctrl+C to cancel.
Transferring zabbix.conf.php...
100% 409 bytes 409 bytes/sec 00:00:01 0 Errors
[root@ceshi_server conf]# ll
总用量 12
-rw-r--r-- 1 bfchain bfchain 1036 7月 18 2017 maintenance.inc.php
-rw-r--r-- 1 root root 409 11月 12 21:22 zabbix.conf.php
-rw-r--r-- 1 bfchain bfchain 411 7月 18 2017 zabbix.conf.php.example
再次刷新页面,发现已经可以正常登陆了,登陆账号为Admin密码为zabbix
登陆以后,发现zabbix-server未运行,给出如下解决方案
Zabbix服务器正在运行 没有 本地主机:10051
[root@ceshi_server ~]# cp -a /root/zabbix-3.2.7/misc/init.d/tru64/zabbix_* /etc/init.d/
[root@ceshi_server ~]# chmod +x /etc/init.d/zabbix_*
[root@ceshi_server ~]# ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/
[root@ceshi_server ~]# useradd zabbix -s /sbin/nologin
[root@ceshi_server ~]# /etc/init.d/zabbix_server start
[root@ceshi_server ~]# /etc/init.d/zabbix_agentd start
再次刷新页面
Zabbix服务器端运行中 是 localhost:10051