在zabbix上部署LAMP

zabbix

概述

Zabbix是由Alexei Vladishev创建,目前由Zabbix SIA在持续开发和支持。Zabbix是一个企业级的分布式开源监控方案。Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件。

Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。这些功能使得Zabbix成为容量规划的理想方案。

Zabbix支持主动轮询和被动捕获。Zabbix所有的报告、统计信息和配置参数都可以通过基于Web的前端页面进行访问。基于Web的前端页面可以确保您从任何方面评估您的网络状态和服务器的健康性。适当的配置后,Zabbx可以在IT基础架构监控方面扮演重要的角色。对于只有少量服务器的小型组织和拥有大量服务器的大型公司也同样如此。

Zabbix是免费的。Zabbix是根据GPL通用公共许可证第2版编写和发行的。这意味着它的源代码都是免费发行的,可供公众任意使用。商业支持由Zabbix公司提供。世界各地许多不同规模的组织将Zabbix作为主要的监控平台。

特性

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。是一个高度集成的网络监控套件。

1.数据收集
可用性和性能检查
支持SNMP(包括捕获和主动轮训),IPMI,JMX,VMware监控
自定义检查
按照自定义的间隔收集需要的数据
由Server/Proxy和agents执行

2.灵活的阀值定义
您可以非常灵活的定义问题阈值,称之为触发器,触发器从后端数据库获取参考值

3.高度可配置化的告警
可以根据升级计划,接收方和媒体类型来定制发送告警通知
使用宏变量可以使告警通知更有意义更高效
自动化动作包含执行远程命令

4.实时图表绘制
使用内置图表绘制功能可以将监控项的内容立即绘制成图表

5.Web监控功能
Zabbix可以模拟鼠标在Web网站上的操作来检查Web的功能和响应时间

6.丰富的可视化选项
能够创建自定义的图形,图形中可将多个监控项组合在一个视图展示
网络拓扑图
以仪表盘的样式展现自定义的展现和幻灯片
报告
监控资源的高级(业务)视图

7.历史数据存储
数据存储在数据库中
可配置历史数据
内置数据管理机制

8.配置简单
将被监控对象添加为主机
主机被创建用于监控,在数据库中是唯一存在的
应用模板来监控设备

9.使用模板
在模板中分组检查
模板可以关联其他模板

70.网络发现
自动发现网络设备
监控代理自动注册
发现文件系统,网络接口和SNMP OID值

11.简洁的Web界面
Web前端基于PHP
可从任何地方访问
你可以定制自己的操作方式
审核日志

12.Zabbix API
Zabbix API为Zabbix 提供了对外的可编程接口,用于批量操作,第三方软件集成和其他目的

13.权限管理系统
安全用户认证
特定用户可以限制访问特定的视图

12.功能强大并易于扩展的监控代理
部署在被监控对象上
可以部署在Linux和Windows上

13.二进制代码
为了性能和更少内存的占用,用C语言编写
便于移植

14.为复杂环境准备
使用Zabbix proxy代理服务器,使得远程监控更简单

组件及功能

zabbix server
负责接收agent发送的报告信息的核心组件,所有配置、统计数据及操作数据都由它组织进行

database storage
专用于存储所有配置信息,以及由zabbix收集的数据

web interface
zabbix的GUI接口

proxy
可选组件,常用于监控节点很多的分布式环境中,代理server收集部分数据转发到server,可以减轻server的压力

agent
部署在被监控的主机上,负责收集主机本地数据如cpu、内存、数据库等数据发往server端或proxy端

监控系统运行流程
agentd需要安装到被监控的主机上,它负责定期收集各项数据,并发送到zabbix server端。zabbix server将数据存储到数据库中,zabbix web根据数据在前端进行展现和绘图。

agentd收集数据分为主动和被动两种模式:

主动:
agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy

被动:
server向agent请求获取监控项的数据,agent返回数据

在zabbix服务器上部署LAMP架构

关闭防火墙及核心防护

systemctl stop firewalld
setenforce 0

安装依赖包

yum install -y httpd mariadb-server mariadb php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash

修改Apache和PHP的配置文件

vim /etc/httpd/conf/httpd.conf
ServerName www.example.com:80        # 95 
DirectoryIndex index.php index.html  # 164 添加 index.php 

vim /etc/php.ini 
date.timezone = PRC                  # 878 

开启Apache和mariadb

systemctl start httpd
systemctl start mariadb
netstat -anpt | grep 80
netstat -anpt | grep 3306

初始化数据库

mysql_secure_installation
Enter current password for root (enter for none):     #直接回车,输入root的当前密码(为none输入)
Set root password? [Y/n] y
New password:                      #设置密码为(自己设)
Re-enter new password:             
Password updated successfully!
Reloading privilege tables..
 ... Success!

Remove anonymous users? [Y/n] y     #移除匿名账号
 ... Success!

Disallow root login remotely? [Y/n] n             #不允许root账号远程登录
 ... skipping.

Remove test database and access to it? [Y/n] y    #移除test数据库,空数据库
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reload privilege tables now? [Y/n] y              #重置权限列表
 ... Success!

mysql -uroot -p123456  

测试php网页

vim /var/www/html/index.php
<?php
phpinfo();
?>

在这里插入图片描述
创建数据库监控信息表并授权

mysql -uroot -p123456

create database zabbix character set utf8 collate utf8_bin;
#数据库监控信息的表叫 zabbix ,字符集为 utf8 , 每一个字符区分大小写

grant all privileges on zabbix.* to 'zabbix'@'%' identified by 'admin123';

grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'admin123';

flush privileges;

验证php与mysql的联动性

vim /var/www/html/index.php

<?php
$link=mysql_connect('192.168.1.10','zabbix','admin123');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
mysql_close();
?>


在这里插入图片描述
部署zabbix服务器

vim /etc/yum.repos.d/CentOS7-Base.repo

[Ali]
name=CentOS-$releasever - Base
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7


vim /etc/yum.repos.d/zabbix.repo

[zabbix]
name=Zabbix Official Repository - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/\$basearch/
enabled=1
gpgcheck=0

[zabbix-non-supported]
name=Zabbix Official Repository non-supported - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/\$basearch/
enabled=1
gpgcheck=0

添加缓存

yum install -y php-mbstring php-bcmath

下载zabbix源,安装zabbix服务端软件

rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent --nogpgcheck

导入 zabbix 监控数据库

zcat /usr/share/doc/zabbix-server-mysql-4.0.27/create.sql.gz | mysql -uzabbix -padmin123 zabbix  

修改zabbix的配置文件

vim /etc/zabbix/zabbix_server.conf
DBPassword=admin123               #124

vi /etc/httpd/conf.d/zabbix.conf 
php_value date.timezone Asia/Shanghai     #20

vi /usr/share/zabbix/include/defines.inc.php     #修改图表中文乱码
define('ZBX_FONT_NAME', 'kaiti');         #113

cd /usr/share/zabbix/assets/fonts/

从微软系统C:\Windows\Fonts下复制相应的字体文件到 /usr/share/zabbix/assets/fonts,目录中注意字体名称要对应配置文件改为kaiti.ttf(简体),且注意大小写

开启服务及监听端口

systemctl start zabbix-server
systemctl enable zabbix-server
netstat -anpt | grep zabbix
systemctl restart httpd

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
部署zabbix客户端

vim /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://repo.zabbix.com/zabbix/4.0/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1

安装zabbix-agent软件

yum -y install zabbix-agent --nogpgcheck

修改zabbix配置文件

vi /etc/zabbix/zabbix_agentd.conf
Server=192.168.1.10         #98服务端ip
StartAgents=3               #123开启被动模式,0表示禁用
ServerActive=192.168.1.10   #139服务端ip
Hostname=client             #150客户端在服务端的名字

关闭防火墙及核心防护

systemctl stop firewalld
setenforce 0
systemctl start zabbix-agent.service
systemctl enable zabbix-agent.service 

创建被监控主机。配置-主机-创建主机
在这里插入图片描述
在这里插入图片描述
邮箱报警
在服务器上配置

yum -y install mailx
vi /etc/mail.rc     # 配置最后面添加 
set from=xxxxxxxxx@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=xxxxxxxxx@qq.com
set smtp-auth-password=xxxxxxxxxxxxxxxx      #QQ 邮箱授权码
set smtp-auth=login   

编写发邮件脚本

cd /usr/lib/zabbix/alertscripts/  #必须在此目录下创建脚本
vi mailx.sh
#!/bin/bash
#send mail
message=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${message}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1
touch /tmp/mailx.log

授权

chown -R zabbix.zabbix /tmp/mailx.log 
chmod +x /usr/lib/zabbix/alertscripts/mailx.sh 
chown -R zabbix.zabbix /usr/lib/zabbix/
./mailx.sh 1214599833@qq.com "震惊" "这是道德的沦丧还是人性的扭曲"

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值