基础环境:LNMP或LAMP(此文档以LNMP为例) **********************************************************************
基础环境:LNMP或LAMP(此文档以LNMP为例)
.
**********************************************************************
百度网盘文件下载
链接:http://pan.baidu.com/s/1cMVF5c 密码:kl2f
**********************************************************************
.
注:先要关闭防火墙和selinux,客户端也需要关闭,避免出现 Connection refused 错误
安装前准备
创建zabbix数据库和授权用户
[root@localhost ~]# mysql -u root -p
Enter password:
mysql> create database zabbix default charset utf8;新建数据库zabbix使用UTF-8编码mysql>CREATE USER 'zabbix'@'host' IDENTIFIED BY '123456';新建账户zabbix,密码123456mysql> grant all on zabbix.* to 'zabbix'@'%' identified by '123456' with grant option; 允许账户zabbix从任何主机连接到数据库zabbixmysql> FLUSH PRIVILEGES;刷新系统授权表mysql> exit
导入数据库文件写入顺序不能错
找到下载的zabbix服务端
tar -zxvf zabbix-3.0.3.tar.gzcd zabbix-3.0.3/database/mysql//usr/bin/mysql -uzabbix -p123456 zabbix < schema.sql /usr/bin/mysql -uzabbix -p123456 zabbix < images.sql /usr/bin/mysql -uzabbix -p123456 zabbix < data.sql
yum -y install gcc gcc-c++ glibc automake autoconf libtool make
安装相应的编译组件
安装Zabbix
yum -y install mysql-devel libxml2-devel net-snmp-devel libcurl-devel
编译安装zabbix
cd zabbix-3.0.3./configure --prefix=/usr/local/zabbix-server --enable-server --with-mysql --with-net-snmp --with-libxml2 make && make install
创建zabbix管理用户
useradd zabbix
编辑配置文件并启动
vim /usr/local/zabbix-server/etc/zabbix_server.conf
. DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456
ListenIP=127.0.0.1
DBSocket=/tmp/mysql.sock
.启用服务并加入到开启自启行列
/usr/local/zabbix-server/sbin/zabbix_server -c /usr/local/zabbix-server/etc/zabbix_server.conf
vim /etc/rc.local添加命令
修改PHP.ini配置文件
.date.timezone = Asia/Shanghai
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
extension=bcmath.so
.拷贝/zabbix-3.0.3/frontends/php/*下所有zabbix页面文件到需要用的站点目录并给予读取权限和配置
---------------------------------------------------------------------------------------
若提示缺少bcmath模块
进入模块目录cd /php-7.0.7/ext/bcmath 执行/usr/local/php/bin/phpize 生成扩展安装文件
指定安装路径执行编译
./configure --with-php-config=/usr/local/php/bin/php-configmake && make install
再重启php服务即可
---------------------------------------------------------------------------------------
填写数据库配置信息登录,如果用localhost的话不能连接到数据库,要改下配置文件
填写服务器细节摘要
信息摘要汇总
提示无法创建zabbix配置文件,说明PHP目录没有写入权限,也可分配权限,也可手动下载更改文件所属和执行权限
至此Zabbix已经顺利安装完成
默认登录用户名admin密码zabbix
-------------------------------------------------------------------------------------------------
中文乱码解决方法
1.从windows下控制面板->时钟、语言和区域->语言->字体->选择一种中文字库例如“楷体”
2.把它拷贝到zabbix的web端的fonts目录下例如:/var/www/html/zabbix/fonts,并且把TTF后缀改为ttf
方法一:
直接把你的文件命名成DejaVuSans.ttf替换成原来的文件
方法二:
修改zabbix的web端/include/defines.inc.php
.- //define('ZBX_FONT_NAME', 'DejaVuSans');
- define('ZBX_FONT_NAME', 'SIMKAI');
- //define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); // font file name
- define('ZBX_GRAPH_FONT_NAME', 'SIMKAI'); // font file name
- 其中SIMKAI为字库名字,不包含ttf后缀,替换为你下载的楷体文件名即可
-------------------------------------------------------------------------------------------------#################################################################
监控项添加方法
监控服务器:
Windows安装
1. 新建目录文件夹,如:在D盘中建立zabbix3.0文件夹 把zabbix_agents_3.0.0.win.zip文件解压至此
2. 在这个目录下建立一个txt改名zabbix_agentd.log
3. 编辑conf 目录下zabbix_agentd.win.conf 则这个文件内容修改以下项
LogFile=D:/zabbix3.0/zabbix_agentd.logServer=『ServerIP』Hostname=『Hostname』
4. CMD命令进入目录 zabbix3.0/Agent/bin #根据系统位数进入相应目录(win32或win64;可在“控制面板/所有控制面板项/系统”中查看“系统类型”)
执行:
zabbix_agentd.exe –c D:/zabbix3.0/conf/zabbix_agentd.win.conf –i
. -c :指定配置文件所有位置
-i :安装客户端
-s :启动客户端
-x :停止客户端
-d :卸载客户端
.Linux安装
rpm -ivh zabbix-agent-3.0.3-1.el6.x86_64.rpm
如遇到一下依赖错误:
yum -y install unixODBC
安装依赖服务即可
vi /etc/zabbix/zabbix_agentd.conf
修改客户端配置文件设置客户端
.Server=对应的zabbix服务器IP
ServerActive=对应的zabbix服务器IP
Hostname=对应的zabbix服务器名称
.service zabbix-agent startchkconfig zabbix-agent on
启用服务并加入开机自启
service zabbix-agent status
确认服务已经正常运行,若没有,关闭selinux和防火墙
#################################################################
Zabbix添加监控项:
1.新增自定义名称mytest主机,agent代理程序的接口写入客户端IP地址,并加入 Linux servers群组
2.选择默认模版Template OS Linux打开,加入mytest主机和 Linux servers群组保存
3.选择模版中的图形创建图形,选择群组主机,添加监控项确定
注:本次使用Template OS Linux模版是示例测试使用,可根据自身需求选择模版或者自建模版
监控交换机等SNMP设备:
1.新建群组-新建主机群组,便于分类和添加主机、模版加入群组。
2.新建主机,SNMP接口输入IP地址和访问用户,这里使用public
3.使用系统自带Template SNMP Device名称的模版,把需要监控的群组、主机加入模版
4.点击模版创建图形,根据需求选择图形样式,添加Template SNMP Device: Number of network interfaces监控项点击更新
5.选择Number of network interfaces监控项修改端口为161,修改数据更新间隔时间,大概等待1到5分钟,即可扫描出主机
#################################################################
邮件设置报警
一.使用sendEmail报警发送外部警报邮箱{是sendEmail不是sendmail,sendmail很多时候会发不出去}
tar -zxvf sendEmail-v1.56.tar.gzcp sendEmail-v1.56/sendEmail /usr/local/bin/chmod -R 755 /usr/local/bin/sendEmailchown -R zabbix.zabbix /usr/local/bin/sendEmail
解压拷贝服务文件并给予执行权限
二.zabbix服务器端发送邮件脚本
1.创建发送邮件脚本
vim /usr/local/zabbix-server/share/zabbix/alertscripts/SendEmail.sh
# Description: zabbix邮件告警脚本# Notes: 使用sendEmail# 脚本的日志文件LOGFILE="/tmp/Email.log" > "$LOGFILE"exec1>"$LOGFILE"exec2>&1SMTP_server='smtp.exmail.qq.com'# SMTP服务器,变量值需要自行修改username='[email protected]'# 用户名,变量值需要自行修改from_email_address='[email protected]'# 发件人Email地址,变量值需要自行修改password='123456'# 密码,变量值需要自行修改to_email_address="$1"# 收件人Email地址,zabbix传入的第一个参数message_subject_utf8="$2"# 邮件标题,zabbix传入的第二个参数message_body_utf8="$3"# 邮件内容,zabbix传入的第三个参数# 转换邮件标题为GB2312,解决邮件标题含有中文,收到邮件显示乱码的问题。message_subject_gb2312=`iconv -t GB2312 -f UTF-8 << EOF$message_subject_utf8EOF`[ $? -eq 0 ] && message_subject="$message_subject_gb2312" || message_subject="$message_subject_utf8"# 转换邮件内容为GB2312,解决收到邮件内容乱码message_body_gb2312=`iconv -t GB2312 -f UTF-8 << EOF$message_body_utf8EOF`[ $? -eq 0 ] && message_body="$message_body_gb2312" || message_body="$message_body_utf8"# 发送邮件sendEmail='/usr/local/sbin/sendEmail'set -x############ 邮件参数使用说明 ######## -s 设置发件人邮箱SNTP服务器## -xu 设置发件人邮箱用户名 ## -f 设置发件人邮箱地址 ## -xp 设置发件人邮箱密码 ## -t 设置接受人邮箱地址 ## -u 设置发送的邮件主题 ## -m 设置发送的邮件内容 ##########################################"$sendEmail" -s "$SMTP_server" -xu "$username" -f "$from_email_address" -xp "$password" -t "$1" -u "$2" -m "$3" -o message-content-type=text -o message-charset=utf8echo"$1$2$3" >>/tmp/sendemil.log-$(date +%F)
2.然后执行下面的命令,设置脚本和日志文件权限:
touch /tmp/Email.logchown zabbix.zabbix /tmp/Email.logchown zabbix.zabbix /usr/local/zabbix-server/share/zabbix/alertscripts/SendEmail.shchmod +x /usr/local/zabbix-server/share/zabbix/alertscripts/SendEmail.sh
3.测试发送邮件
/usr/local/zabbix-server/share/zabbix/alertscripts/SendEmail.sh [email protected] "test" "this is test"
设计报警媒介并添加以下3个参数
{ALERT.SENDTO} 收件人地址{ALERT.SUBJECT} 邮件主题{ALERT.MESSAGE} 邮件内容
打开配置---动作--写入报警信息
.名称:Report problems to Zabbix
收件人邮件主题:{TRIGGER.STATUS}: {TRIGGER.NAME}: {HOST.NAME}
默认信息:
告警主机:{HOST.NAME}
主机IP: {HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
事件ID: {EVENT.ID}
.
打开 管理---用户---报警媒介---添加对应报警接收邮箱更新即可
~~~~~~~~~~~~~~~~~~~~~~~~~~END~~~~~~~~~~~~~~~~~~~~~~~~~