新公司服务器基本全为debian系统7.8,有些装了mysql5.5,有些装了ngingx和tomcat7,为了更好的监控这些服务器,因此需要安装zabbix,由于对这块也不是很熟悉,就边练手边安装,将自己的安装过程记录下来,以备以后所需和他人观看。
在安装前
1、sudo apt-get install apache2
2、sudo apt-get install php5
3、sudo apt-get install libapache2-mod-php5
4、sudo /etc/init.d/apache2 restart // 重启apache,此时php5已经可用了
5、sudo apt-get install mysql-server//数据库账号:root密码:root
6、sudo apt-get install libapache2-mod-auth-mysql
7、sudo apt-get install php5-mysql
apt-get -y install php5-gd
8、sudo /etc/init.d/apache2 restart // 再次重启apache,使新服务正常激活
启用php模块,然后重启apache即可。
OK,apache、php5、mysql都已经可用了。
9、sudo /etc/init.d/apache2 restart
这里还需要配置下sudo vi /etc/php5/apache2/php.ini
1、; date.timezone ===>去掉注释在=后添加 Asia/Shanghai
2、max_input_time = 600
3、max_execution_time = 600
4、post_max_size = 32M
5、sudo /etc/init.d/apache2 restart
1. 去zabbix官网下载zabbix2.2.9的tar包,放到服务器上。
2.tar cvf解压缩后,进入解压后的目录
3. 执行安装命令 ./configure --enable-server --enable-agent --with-mysql --with-libxml2 --with-net-snmp --with-openipmi --with-libcurl --with-unixodbc --prefix=/app/zabbix
结果提示错误: configure:error: mysql library not found
这个错误是因为mysql-devel未安装,在debian中不叫mysql-devel,而是叫libmysqld-dev 安装之:apt-get -y install libmysqld-dev 即可解决这个问题 (如果过程中出现找不到源的情况,请更新源 apt-get update)
4. 继续执行安装命令,再次提示错误
需要安装: apt-get -y install libxml2-dev unixODBC-dev snmp libsnmp-dev libopenipmi-dev libcurl4-openssl-dev
装完后继续执行安装命令,应该可以OK通过,如果还不行,则继续看错误,根据错误安装。
5. 根据安装好的提示,接下来要执行make install 命令了,看下本机是否有make命令,没有则apt-get -y install make
然后执行make make install
6. 做软连接
ln -s /app/zabbix/bin/* /usr/local/bin/
ln -s /app/zabbix/sbin/* /usr/local/sbin/
创建zabbix组和用户
groupadd zabbix
useradd -s /bin/false -g zabbix zabbix
7. 安装mysql,然后创建用户及赋予权限
apt-get install mysql-server mysql-client
然后初始化
mysql_install_db --user=mysql --datadir=/app/mysql
create database zabbix character set utf8;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'zabbix';
grant all on zabbix.* to 'zabbix'@'localhost';
flush privileges;
进入mysql登录zabbix用户,然后执行3个sql
use zabbix;
source /app/zabbix-2.2.9/database/mysql/schema.sql;
source /app/zabbix-2.2.9/database/mysql/images.sql;
source /app/zabbix-2.2.9/database/mysql/data.sql;
8.先备份配置文件
cp /app/zabbix/etc/zabbix_server.conf /app/zabbix/etc/zabbix_server.conf_bak
修改为
ListenPort=10051
LogFile=/app/zabbix/log/zabbix_server.log
PidFile=/app/zabbix/log/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
ListenIP=127.0.0.1
AlertScriptsPath=/app/zabbix/share/zabbix/alertscripts
复制为启动脚本
cp /app/zabbix-2.2.9/misc/init.d/debian/zabbix-server /etc/init.d/
修改/etc/init.d/zabbix-server
PID=/app/zabbix/log/$NAME.pid
加权限chmod u+x /etc/init.d/zabbix-server
10.建目录并做日志切割处理
mkdir /app/zabbix/log
chown -R zabbix.zabbix /app/zabbix/log
vi /etc/logrotate.d/zabbix_server
增加如下语句:/app/zabbix/log/zabbix_server.log{
daily
rotate 7
compress
missingok
notiempty
create 0640 zabbix zabbix
shardscripts
}
11.启动zabbix_server
/etc/init.d/zabbix-server start
然后查看是否成功
ps aux |grep zabbix
netstat -tupnl |grep zabbix
12 安装zabbix-agent和zabbix-web
---放置网站
mkdir /var/www/zabbix
cp -a /app/zabbix-2.2.9/frontends/php/ /var/www/zabbix/
chown www-data /var/www/zabbix/ -R
先通过dpkg-reconfigure locales 查看系统内是否勾选了zh_CN.GBK,记得要勾选,切记!
更改zabbix默认语言为简体中文、替换监控图像上系统默认的中文字体
1、修改系统配置文件,让web页面支持简体中文显示
vi /var/www/zabbix/php/include/locales.inc.php #编辑修改
'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => false),
修改为
'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => true),
:wq! #保存退出
2、替换监控图像上系统默认的字体 #默认字体不支持中文,如果不替换,图像上会显示乱码
在Windows系统中的C:\Windows\Fonts目录中复制出一个中文字体文件,例如msyh.ttf就是微软黑
把字体文件msyh.ttf上传到zabbix站点根目录下fonts文件夹中
例如:/var/www/zabbix/php/fonts
备份默认的字体文件:DejaVusSans.ttf-bak
修改msyh.ttf名称为DejaVusSans.ttf
---安装zabbix-agent
./configure --enable-agent --prefix=/app/zabbix
make
make install
做软连接
ln -s /app/zabbix/bin/* /usr/local/bin/
ln -s /app/zabbix/sbin/* /usr/local/sbin/
创建zabbix组和用户
groupadd zabbix
useradd -s /bin/false -g zabbix zabbix
--复制配置文件
cp /app/zabbix/etc/zabbix_agentd.conf /app/zabbix/etc/zabbix_agentd.conf_bak
vi /app/zabbix/etc/zabbix_agentd.conf
ListenPort=10050
LogFile=/app/zabbix/log/zabbix_agentd.log
PidFile=/app/zabbix/log/zabbix_agentd.pid
Server=192.168.3.72
ServerActive=192.168.3.72:10051
Hostname=192.168.3.98
Include=/app/zabbix/etc/zabbix_agentd.conf.d/
复制为启动脚本
cp /app/zabbix-2.2.9/misc/init.d/debian/zabbix-agent /etc/init.d/
vi /etc/init.d/zabbix-agent
PID=/app/zabbix/log/$NAME.pid
加权限 chmod u+x /etc/init.d/zabbix-agent
--建日志
mkdir /app/zabbix/log
chown -R zabbix.zabbix /app/zabbix/log
vi /etc/logrotate.d/zabbix_agent
增加如下语句:/app/zabbix/log/zabbix_agent.log{
daily
rotate 7
compress
missingok
notiempty
create 0640 zabbix zabbix
shardscripts
}
--加入开机自启
update-rc.d zabbix-server defaults
update-rc.d zabbix-agent defaults
/etc/init.d/zabbix-agent start
--测试是否开通
zabbix_get -s 192.168.3.98 -p 10050 -k "system.cpu.load[all,avg1]"
在监控web页面上将被监控的服务器启动监控
----设置邮件报警
1、关闭服务器自己的邮箱(sendmail and exim4)
2、安装mailx软件
#apt-get install heirloom-mailx
3、配置snmp:
编辑/etc/mail.rc文件,在文件末尾添加如下内容:
set from=123456789@11.com (你的邮箱,例如qq邮箱)
set smtp=smtp.qq.com
set smtp-auth-user=123456789 (邮箱账号)
set smtp-auth-password=987654321 (邮箱里客户端授权密码)
set smtp-auth=login
4、发邮件测试:
echo test | mailx -v -s "test" adcdef@126.com (可以去126邮箱收邮件了)
管理-示警媒介类型-创建媒体类型
名称:Sendmail
类型:脚本
脚本名称:sendmail.sh
已启用:勾选
存档
2、设置Zabbix用户报警邮箱地址
组态-用户-Admin (Zabbix Administrator)
切换到示警媒介-添加
类型:Sendmail
收件人:xxx@163.com
其他默认即可,也可
以根据需要设置
状态:已启用
存档
3、设置Zabbix触发报警的动作
组态-动作-创建动作
名称:Action-Email
默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
默认信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
恢复信息:打钩
恢复主旨:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
恢复信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
已启用:打钩
切换到操作选项
新的
操作类型:送出信息
送到用户:添加
默认信息:打钩
选择用户:Admin
选择
仅送到:Sendmail
存档
4、添加Zabbix服务端邮件发送脚本
cd /usr/local/zabbix/share/zabbix/alertscripts #进入脚本存放目录
vi sendmail.sh #编辑,添加以下代码
#!/bin/sh
echo "$3" | mail -s "$2" $1
:wq! #保存退出
chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh
#设置脚本所有者为zabbix用户
chmod +x /usr/local/zabbix/share/zabbix/alertscripts/sendmail.sh
#设置脚本执行权限