Chinaunix首页 | 论坛 | 博客

OPS

  • 博客访问: 507021
  • 博文数量: 117
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1210
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-05 14:50
个人简介

hellow 运维

文章分类

全部博文(117)

文章存档

2019年(1)

2018年(1)

2017年(45)

2016年(38)

2015年(32)

我的朋友

分类: 系统运维

2016-10-21 15:32:50

Centos 6.x安装zabbix 3.0

 

1、 首先查看系统 jdk 版本;

rpm -qa | grep java

发现有其他版本,卸载了它(以卸载 openjdk-1.6.0 为例)

yum remove java-1.6.0* -y

 

2、 然后安装 jdk1.7.0

yum install java-1.7.0* -y

 

安装支持组件

1、 安装第三方插件包

rpm -ivh

 

2、 依次安装

yum install php-pecl-ssh2.x86_64 libssh2-devel.x86_64 net-snmp* OpenIPMI OpenIPMI-devel -y

yum install rpm-build curl* curl-devel httpd php56w php56w-gd php56w-mysql php56w-bcmath php56w-mbstring php56w-xml php56w-ldap -y

yum install gcc mysql-community-devel libxml2-devel unixODBC-devel net-snmp-devellibcurl-devel libssh2-devel OpenIPMI-devel openssl-devel openldap-devel –y

 

同时修改/etc/php.ini 文件:

#vim /etc/php.ini

post_max_size=16M

max_execution_time=300

max_input_time=300

date.timezone=Asia/Shanghai

always_populate_raw_post_data=-1

 

安装配置 Mysql

1、 安装 mysql yum

 

rpm -ivh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

 

2、 检查一下是否有可以更新的版本

yum repolist enabled | grep mysql

 

3、 安装 Mysql 数据库

yum install mysql-community-server mysql-devel -y

 

4、 启动 mysql

service mysqld start

 

5、 创建数据库(zabbix)、用户(zabbix)、密码(zabbix)

create database zabbix character set utf8 collate utf8_bin;

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

flush privileges;

 

6、 说明:关于 Mysql 这里不展开说它得各项配置,只保证可用;用户可以根据个人&企业 要求对 Mysql 进行针对性的优化以及配置;

安装配置 Zabbix

1、 下载 Zabbix3.0.4

 

wget %20Latest%20Stable/3.0.4/zabbix- 3.0.4.tar.gz

tar -zxvf zabbix-3.0.4.tar.gz

 

3、 进入解压目录中的 database 下的 mysql 目录下,导入初始数据:

cd zabbix-3.0.4/database/mysql/

mysql -uroot -p zabbix < schema.sql

mysql -uroot -p zabbix < images.sql

mysql -uroot -p zabbix < data.sql

 

4、 导入完毕后,就可以进行安装了,进入安装根目录 zabbix-3.0.4/

cd zabbix-3.0.4

./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-java --enable-proxy -with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-unixodbc --with-ssh2 --with-openipmi --with-openssl --with-java-gateway

 编译时提示需要安装的包
1)configure: error: no acceptable C compiler found in $PATH
需要安装apt-get -y install gcc
2)configure: error: MySQL library not found
需要安装apt-get -y install libghc6-hsql-mysql-dev
3)configure: error: LIBXML2 library not found
需要安装apt-get -y install libxml2-dev
4)configure: error: unixODBC library not found
需要安装apt-get -y install unixodbc-dev
5)configure: error: Invalid Net-SNMP directory - unable to find net-snmp-config
需要安装apt-get -y install libsnmp-dev
6)configure: error: Invalid OPENIPMI directory - unable to find ipmiif.h
需要安装apt-get -y install libopenipmi-dev
7)configure: error: Curl library not found
需要安装apt-get -y install libghc6-curl-dev

没有报错的话,执行 make install

5、 在/var/www/html/下创建文件夹 zabbix  mkdir /var/www/html/zabbix

6、 拷贝 php 页面文件到/var/www/html/zabbix 目录下并授权

 

cp -R zabbix-3.0.4/frontends/* /var/www/html/zabbix

chown -R apache:apache /var/www/html/zabbix/

chmod +x /var/www/html/zabbix/conf/

 

7、 拷贝启动脚本到/etc/init.d

cp zabbix-3.0.4/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/

cp zabbix-3.0.4/misc/init.d/fedora/core/zabbix_server /etc/init.d/

chkconfig --add /etc/init.d/zabbix_server

chkconfig --add /etc/init.d/zabbix_agentd

sed -i  's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/' /etc/init.d/zabbix_server

sed -i  's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/' /etc/init.d/zabbix_agentd

编辑

 

vim /usr/local/zabbix/etc/zabbix_server.conf

zabbix_server.conf 配置:

ListenPort=10051

LogFile=/tmp/zabbix_server.log

DBName=zabbix

DBUser=root

DBPassword=zabbix

ListenIP=127.0.0.1

vim /usr/local/zabbix/etc/zabbix_server.conf

zabbix_server.conf 配置:

ListenPort=10051

LogFile=/tmp/zabbix_server.log

DBName=zabbix

DBUser=root

DBPassword=zabbix

ListenIP=127.0.0.1

 

8、 配置自启动

chkconfig httpd on

chkconfig mysqld on

chkconfig zabbix_server on

chkconfig zabbix_agentd on

 

9、 启动服务

service httpd start

service mysqld start

service zabbix_server start

service zabbix_agentd start

 

10、注意事项:

a) 关闭 selinux;

b) 关闭防火墙,或者开放 80 端口访问;

11、访问监控页面 Admin   zabbix

12、开始安装下一步下一步完成。

Zabbix3.0.4定义邮件发送报警和声音提示
1.下载软件

2.创建目录
mkdir /usr/local/bin
3.解压软件
tar zxf sendEmail-v1.56.tar.gz -C /usr/src
4.进入目录
cd /usr/src/sendEmail-v1.56
5.复制文件,并设置权限
cp -a sendEmail /usr/local/bin
chmod +x /usr/local/bin/sendEmail
6.安装组件
yum install perl-Net-SSLeay perl-IO-Socket-SSL -y
7.测试邮件功能
# /usr/local/bin/sendEmail -f From@163.com -t to@qq.com -s smtp.163.com -u "我是邮件主题" -o message-content-type=html -o message-charset=utf8 -xu From@163.com -xp password -m "我是邮件内容"
命令说明:
/usr/local/bin/sendEmail        命令主程序
-f from@163.com                 发件人邮箱
-t to@163.com                   收件人邮箱
-s smtp.163.com                 发件人邮箱的smtp服务器
-u "我是邮件主题"                 邮件的标题
-o message-content-type=html    邮件内容的格式,html表示它是html格式
-o message-charset=utf8         邮件内容编码
-xu from@163.com                发件人邮箱的用户名
-xp 123456                      发件人邮箱密码
-m "我是邮件内容"                 邮件的具体内容
例子:sendEmail  -f hz7726@163.com -t hz7726@163.com -s smtp.163.com -u "aaaaa" -o message-content-type=html -o messages-character=utf8 -xu hz7726@163.com -xp hz7726 -m "a"
 
8.查看编辑脚本配置
进入zabbix自定义的指定目录,我这里是/usr/local/zabbix 
可以查看zabbix_server.conf配置文件AlertScriptsPath变量是如何定义的。
vim /usr/local/zabbix/etc/zabbix_server.conf
找到AlertScriptsPath选项,可以自定义位置
### Option: AlertScriptsPath
#       Full path to location of custom alert scripts.
#       Default depends on compilation options.
#
# Mandatory: no
# Default:
# AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=/usr/local/zabbix/alertscripts
cd /usr/local/zabbix/alertscripts/ 
9.编辑脚本
vim sendEmail.sh
内容如下:
#!/bin/bash
to=$1
subject=$2
body=$3
/usr/local/bin/sendEmail  -f from@163.com -t "$to" -s smtp.163.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu from@163.com -xp password -m "$body"
说明: 
from@163.com 替换成自己的发件邮箱 
smtp.163.com 表示邮箱的smtp服务器,这里展示使用的是163邮箱,替换自己的邮箱SMTP地址 
password 替换成发件邮箱密码
10.编辑完成后,给脚本权限
chmod +x sendEmail.sh
chown zabbix.zabbix sendEmail.sh
11.web界面配置

进入zabbix管理页面:

1:
点击管理->报警媒介类型 点击最右边的创建媒体类型

输入脚本名称,类型选择脚本

添加以下3个参数,分别对应sendEmail.sh脚本需要的3个参数:收件人地址、主题、详细内容

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

解释:很多人安装zabbix 3.0之后,写的脚本一直发信不成功,手动执行时可以的。

那是因为zabbix3.0之后,可以自定义参数了。所以不写参数,它是不会传参数的。

在2.x版本不存在这个问题,默认会传3个参数。

2:创建用户并加载次脚本的报警媒介

3:配置动作和调用脚本发送邮件到admin(hz7726@163.com)

邮件通知内容:
告警主机 : {HOSTNAME1}
告警时间 : {EVENT.DATE} {EVENT.TIME}
告警等级 : {TRIGGER.SEVERITY}
告警信息 : {TRIGGER.NAME}
告警项目 : {TRIGGER.KEY1}
问题详情 : {ITEM.NAME}:{ITEM.VALUE}
当前状态 : {TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID : {EVENT.ID}

恢复后的回复:
告警主机 : {HOSTNAME1}
告警时间 : {EVENT.DATE} {EVENT.TIME}
告警等级 : {TRIGGER.SEVERITY}
告警信息 : {TRIGGER.NAME}
告警项目 : {TRIGGER.KEY1}
问题详情 : {ITEM.NAME}:{ITEM.VALUE}
当前状态 : {TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID : {EVENT.ID}


4:设置触发器触发此动作即可发送邮件了


5:这时候开始开启四以上的链接等待邮件已经发送过来

6:设置报警铃声和恢复铃声

阅读(3418) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~