自动化监控系统
cacti : 基于snmp(简单的网络管理协议)协议的监控软件,强大的绘图软件 缺点: 自带的监控模板比较少,不能默认 自带监控报警功能(只能自己去官网下载模板)
Nagios: 插件极多,自己写监控脚本潜入到ngagios非常方便
基于agent监控(在被监控的机器上必须有agent服务),默认自己支持报警机制,缺点不能绘图
zabbix: 是以上两种的综合体 基于多种监控机制,支持分布式
zabbix软件介绍:
1. zabbix是一个高度集成的监控解决方案
2. 可以时间企业级的开源分布式监控
3. zabbix通过C/S模式采集监控数据 C/S client/server
4. zabbix通过B/S模式实现web管理 B/S 浏览器/服务器
监控服务器 S
-- 监控服务器可以用过snmp或agent采集数据
-- 数据可以写入MYSQL ORACLE等数据库中
-- 服务器使用LNMP时间web前端的管理
被监控主机 C
-- 被监控主机需要安装Agent
-- 常见的网络设备一般支持snmp
部署LNMP环境
安装前准备:
监控服务器:
-- 设置主机名(zabbix )
-- 设置IP地址(192.168.1.164)
-- 关闭防火墙 selinux
监控客户端:
-- 主机web1(192.168.1.162)
-- 关闭防火墙 selinux
[root@zabbix ~]# yum -y install gcc pcre-devel openssl-devel zlib-devel #编译安装神器
[root@zabbix ~]# tar -xf nginx-1.12.2.tar.gz #解包
[root@zabbix ~]# cd nginx-1.12.2/ #进入目录
[root@zabbix ~]# ./configure --with-http_ssl_module
[root@zabbix ~]# make && make install #编译安装nginx
[root@zabbix ~]# yum -y install php php-mysql mariadb mariadb-devel mariadb-server #安装mariadb
[root@zabbix ~]# yum -y install php-fpm-5.4.16-42.el7.x86_64.rpm
修改nginx配置文件使之可以支持php服务
[root@zabbix tts]# vim /usr/local/nginx/conf/nginx.conf
默认是在65-71行左右 模式人注释掉的 打开注释并改成以下模样
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf; #打开注释只要改这一行就行了
}
启动服务
[root@zabbix tts]# systemctl restart php-fpm.service #启动php-fpm服务
[root@zabbix tts]# ss -natulp| grep 9000 #php服务默认端口是9000 使用ss查看
[root@zabbix tts]# /usr/local/nginx/sbin/nginx #启动nginx服务
[root@zabbix tts]# ss -natulp|grep 80 #ngnx默认端口80 能查看到就是成功了
[root@zabbix tts]# systemctl restart mariadb.service #启动数据库服务
[root@zabbix tts]# ss -natulp | grep 3306 #查看数据库端口 3306
测试配置
[root@zabbix tts]# vim /usr/local/nginx/html/ce.php
$i=33;
echo $i;
?>
:x
[root@zabbix tts]# curl http://127.0.0.1/test.php
33 #看到33才算成功
部署zabbix服务
(1) 修改nginx配置文件设置服务运行,满足服务的运行需求
vim /usr/local/nginx/conf/nginx.conf
http { #写在http里面
include mime.types;
default_type application/octet-stream;
fastcgi_buffers 8 16k; #缓存php生成的页面内容, 8个16k
fastcgi_buffer_size 32k; #缓存php生成的头部信息
fastcgi_connect_timeout 300; #连接php的超时时间
fastcgi_send_timeout 300; #发送请求的超时时间
fastcgi_read_timeout 300; #读取请求的超时时间
:x
[root@zabbix tts]# /usr/local/nginx/sbin/nginx -s reload #重启nginx服务 没报错就是成功了
(2) 编译安装zabbix服务
[root@zabbix ~]# yum -y install libevent-devel-2.0.21-4.el7.x86_64.rpm net-snmp-devel curl--devel
[root@zabbix zabbix-3.4.4]# ./configure --prefix=/usr/local/zabbix \ #指定安装位置
--enable-server \ #enable-server提供监控服务
--enable-proxy --enable-agent \ #提供代理服务 提供客户端服务
--with-mysql=/usr/bin/mysql_config \ ##使用的数据库服务及路径
--with-net-snmp \ #让自己支持snmp服务
--with-libcurl #可以通过web页面查看监控信息
[root@zabbix zabbix-3.4.4]# make && make install
(3) 初始化zabbix
[root@zabbix ~]# systemctl restart mariadb #启动mariadb
[root@zabbix ~]# mysql #进入数据库
MariaDB [(none)]> create database zabbix charseter set utf8; #创建库 并设置字符集
MariaDB [(none)]> grant all on zabbix.* to zabbix@"localhost" identified by "zabbix"; #授权用户
创建表
在zabbix源码包的目录下有一个database目录里面有需要导入的文件 从右向左开始导入
[root@zabbix ~]# cd /root/zabbix-3.4.4/database/mysql/
[root@zabbix mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql
[root@zabbix mysql]# mysql -uzabbix -pzabbix zabbix < images.sql
[root@zabbix mysql]# mysql -uzabbix -pzabbix zabbix < data.sql
创建web页面
在zabbix源码包的目录下有一个[root@zabbix zabbix-3.4.4]# ls /root/zabbix-3.4.4/frontends/php/把里面的内容全拷贝到html目录下
[root@zabbix zabbix-3.4.4]# cp -r /root/zabbix-3.4.4/frontends/php /usr/local/nginx/html/zabbix
使用谷歌浏览器访问zabbix服务器的ip地址 http://192.168.1.164/zabbix/index.php
能看到这个图以上的操作就算成功了
点那个蓝色的下一步会得到以下图
根据检查的报警提示,修改系统环境
[root@zabbix ~]# yum -y install php-gd php-xml
[root@zabbix ~]# yum -y install php-gd php-xml
[root@zabbix ~]# yum install php-bcmath-5.4.16-42.el7.x86_64.rpm
[root@zabbix ~]# yum install php-mbstring-5.4.16-42.el7.x86_64.rpm
[root@zabbix ~]# vim /etc/php.ini
date.timezone = Asia/Shanghai //设置时区
max_execution_time = 300 //最大执行时间,秒
post_max_size = 32M //POST数据最大容量
max_input_time = 300 //服务器接收数据的时间限制
memory_limit = 128M //内存容量限制
[root@zabbixserver ~]# systemctl restart php-fpm
注意: php LDAP 警告状态是没有问题的
然后点击下一步会调到一下页面 ↓
点下一步之后会有以下报错信息:
chmod o+x /usr/local/nginx/html/zabbix/conf
在登陆页面,使用用户(admin)和密码(zabbix)登陆,登陆后设置语言环境为中文,如下所示。
当下面显示黄色字条的时候 代表zabbix没有运行 注意:不管有没有黄条都不妨碍你访问zabbixweb页面
启动zabbix_server服务
(1) 修改配置文件
[root@zabbix ~]# vim /usr/local/zabbix/etc/zabbix_server.conf
:set nu 打开行号
85 DBHost=localhost #指定数据库主机,因为是本机所以写localhost就行了
95 DBName=zabbix #指定连接库名,默认就是zabbix
111 DBUser=zabbix #指定授权用户,默认zabbix
119 DBPassword=zabbix #指定授权用户的密码
38 LogFile=/tmp/zabbix_server.log #用来帮你排错的日志文件路径
:wq
(2) 创建服务启动脚本
[root@zabbix ~]# cd zabbix-3.4.4/ #使用包里自带的脚本
[root@zabbix zabbix-3.4.4]# cp misc/init.d/fedora/core/zabbix_server /etc/init.d/ #把他拷贝到启动目录下
[root@zabbix zabbix-3.4.4]# chmod +x /etc/init.d/zabbix_server #给执行权限
[root@zabbix zabbix-3.4.4]# sed -i "22s;/usr/local;/usr/local/zabbix;" /etc/init.d/zabbix_server #启动索引默认是在/usr/local里去找,因为我们是指定目录了 所有要修改文件
[root@zabbix zabbix-3.4.4]# useradd zabbix #注意注意!! 必须要创建一个zabbix用户 否则程序启动肯定报错
(3) 启动服务
[root@zabbix zabbix-3.4.4]# /etc/init.d/zabbix_server start #启动zabbixserver
[root@zabbix zabbix-3.4.4]# /etc/init.d/zabbix_server stop #停止命令
(4) 查看服务信息
[root@zabbix zabbix-3.4.4]# /etc/init.d/zabbix_server status #查看状态
未完待续!!!!!!