Centos7 安装部署 zabbix3.4
centos 系统版本:
1 安装前需要先关闭 selinux 和 firewall.
- 1.1
- [root@zabbix ~]# vi /etc/selinux/config
将 SELINUX=enforcing 改为 SELINUX=disabled
设置后需要重启才能生效
- [root@zabbix ~]# setenforce 0 # 临时关闭
- [root@zabbix ~]# getenforce # 检测 selinux 是否关闭, Disabled 为关闭
- 1.2
- [root@zabbix ~]# firewall-cmd --state # 查看默认防火墙状态
- not running #关闭后显示 not running, 开启后显示 running
- [root@zabbix ~]# systemctl stop firewalld.service # 临时关闭 firewall
- [root@zabbix ~]# systemctl disable firewalld.service # 禁止 firewall 开机启动
2 配置 zabbix 程序安装
2.1 配置 zabbix 的 yum 源
[root@zabbix ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
2.2 安装 zabbix 程序包, 安装 mysqlzabbix-agent
[root@zabbix ~]# yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent mariadb-server
2.3 启动 mariadb(数据库) 并设置开机启动, 创建数据库实例, 授权
- [root@zabbix ~]# systemctl start mariadb # 启动 mariadb
- [root@zabbix ~]# systemctl enable mariadb # 开机时启动 mariadb
- [root@zabbix ~]# mysql # 登入数据库
- MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
- # 创建数据库实例
- Query OK, 1 row affected (0.00 sec)
- MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'%' identified by 'zabbix';
- # 授权所有主机访问数据库实例 zabbix, 用户名 / 密码: zabbix/zabbix
- Query OK, 0 rows affected (0.00 sec)
- MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
- # 授权 localhost 主机名访问数据库实例 zabbix, 用户名 / 密码: zabbix/zabbix
- Query OK, 0 rows affected (0.00 sec)
- MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost.localdomain identified by 'zabbix';
- # 授权 localhost.localdomain 主机访问数据库实例 zabbix, 用户名 / 密码: zabbix/zabbix
- Query OK, 0 rows affected (0.00 sec)
导入初始模式和数据
- [root@zabbix ~]# cd /usr/share/doc/zabbix-server-mysql-3.4.5/ # 进入 create.sql.gz 所在目录
- [root@zabbix zabbix-server-mysql-3.4.5]# zcat create.sql.gz |mysql -uroot zabbix # 导入出事模式
注: 这里的数据库没有设置密码的
2.4 启动 zabbix-server
2.4.1 配置 zabbix-server r 配置文件 zabbix-server.conf
- [root@zabbix zabbix-server-mysql-3.4.5]# vi /etc/zabbix/zabbix_server.conf
- DBHost=localhost # 数据主机名
- DBName=zabbix # 数据库实例
- DBUser=zabbix # 用户名
- DBPassword=zabbix # 密码
修改配置文件
2.4.2 启动 zabbix-server 服务
- [root@zabbix ~]# systemctl start zabbix-server # 启动 zabbix-server 服务
- [root@zabbix ~]# systemctl enable zabbix-server # 开机启动 zabbix-server 服务
2.5 编辑 Apache 的配置文件, 消注释设置正确的时区
- [root@zabbix ~]# vi /etc/httpd/conf.d/zabbix.conf
- php_value max_execution_time 300
- php_value memory_limit 128M
- php_value post_max_size 16M
- php_value upload_max_filesize 2M
- php_value max_input_time 300
- php_value always_populate_raw_post_data -1
- php_value date.timezone Asia/Shanghai
修改配置文件
启动 httpd 服务, 设置开机启动 httpd 服务
- [root@zabbix ~]# systemctl start httpd # 启动 httpd 服务
- [root@zabbix ~]# systemctl enable httpd # 设置开机启动 httpd 服务
3 启动 zabbix-agent 并设置开机自启动
- [root@zabbix ~]# systemctl start zabbix-agent # 启动 zabbix-agent 服务
- [root@zabbix ~]# systemctl enable zabbix-agent # 设置 zabbix-agent 服务开机自动启动
4zabbix web 网页安装
4.1. 在浏览器输入地址 http:// 服务器 ip/zabbix/setup.php, 出现欢迎界面, 点击下一步;
4.2. 出现必要条件检测界面, 正常都是 OK, 点击下一步
4.3. 配置 DB 连接, 与 zabbix_server.conf 文件中主机数据库名称用户名密码保持一致, 点击下一步
4.4.zabbix 服务器详细信息, 点击下一步
4.5. 安装前汇总, 检查信息无误, 点击下一步安装
4.6. 安装成功
Congratulations! You have successfully installed Zabbix frontend.
配置文件目录
Configuration file "/etc/zabbix/web/zabbix.conf.php" created.
5zabbix 网页登录
在浏览器输入 http://zabbix 服务器 ip/zabbix/index.php, 输入管理员用户名 Admin(区分大小写), 默认密码 zabbix, 点击登入即可
6 设置 zabbix 中文
7 解决中文在图形界面上的乱码
7.1 一般情况下还是会出现中文乱码的情况
7.2 因为 zabbix 自身对中文简体的支持不完善, 需要我们手动的去上传新的字体进行替换:
在 C:\Windows\Fonts 中复制想要的字体, 后缀为 ttf, 把文件复制到桌面
上传至 zabbix 服务器的 / usr/share/zabbix/fonts 目录中, 把文件上传在 linux 系统中我们可以使用 winSCP 这个软件在这里我直接使用 rz -y 这个命令上传
- [root@zabbix fonts]# yum install lrzsz -y # 安装命令
- [root@zabbix fonts]# rz -y
- [root@zabbix fonts]# mv graphfont.ttf graphfont.ttf.bak # 把 graphfont.ttf 备份
- [root@zabbix fonts]# mv simkai.ttf graphfont.ttf # 把 simkai.ttf 改名为 graphfont.ttf
然后刷新下网页就可以了
8zabbix-agent 客户端安装与配置 (windows 操作系统)
目前已安装好了 zabbix-server 服务端, 接下来我们需要添加客户端的操作
现在添加监控的对象是 server 2012 操作系统 64 位
8.1 下载 zabbix-agent 监控客户端软件安装包 (windows 操作系统)
官方下载地址: http://www.zabbix.com/download
8.2 关闭监控主机 windows server 2008 防火墙或防火墙入放行 zabbix_agentd 客户端口号 10050 (TPC/UDP)
8.3 下载后解压 zabbix_agents_3.4.0.win.zip 压缩包里面有两个文件夹, 一个是 bin 文件夹, 另一个是 conf 文件夹
Bin 文件夹里面有两个文件夹, 一个是 win32 文件夹里存放 zabbix_agentd 安装程序应用于 windows 32 位操作系统, 一个是 win64 文件夹里存放 zabbix_agentd 安装程序应用于 windows 64 位操作系统
Conf 文件夹里存放是配置文件 zabbix_agentd.win.conf
8.4 在 windows server 2012 操作系统下, C 盘目录下创建一个 zabbix 文件夹, 把刚下载的 zabbix_agentd 压缩包里的 win64 位文件夹复制到 zabbix 文件夹里把 conf 文件夹 zabbix_agentd.win.conf 复制到新创的 zabbix 目录下
8.5 右键以文本格式编辑 zabbix_agentd.win.conf 配置文件, 使用 Notrpad++ 编辑
修改下面几项
- EnableRemoteCommands=1 #允许在本地执行远程命令
- LogRemoteCommands=1 # 执行远程命令是否保存操作日志
- Server=192.168.3.50 # 填写 zabbix-server 服务器 IP 地址
- ServerActive=192.168.3.50 # 填写 zabbix-server 服务器 IP 地址
- Hostname=server2012 #zabbix_agent 客户端计算机名 (被监控主机)
8.6 打开 DOS 命令窗口 ---- 输入以下两条命令进行 zabbix 客户端安装 (必须要以管理员身份运行打开 DOS 命令窗口)
- C:\zabbix\zabbix_agentd.exe -i -c C:\zabbix\zabbix_agentd.win.conf
- # 安装 zabbix 客户端
- C:\zabbix\zabbix_agentd.exe -s -c C:\zabbix\zabbix_agentd.win.conf
- # 启动 zabbix 服务
8.7 在 zabbix 服务端操作
8.7.1 选择配置 ---- 主机 ---- 创建主机
8.7.2 输入客户端计算机名 --- 可见名称自定义 ---- 群组自行选择 ---- 输入客户端计算 IP 地址 ---- 勾选已启用 ---- 选择添加
8.7.3 添加 zabbix_agentd 客户端监控模版
8.7.3 检查 zabbix-agent 服务是否开启或直接重启 zabbix-agent 服务
9zabbix 邮件告警提示
9.1 创建自定义媒介, 和邮件脚本
- [root@zabbix ~]# vi /etc/zabbix/zabbix_server.conf
- AlertScriptsPath=/usr/lib/zabbix/alertscripts # 修改配置文件
- [root@zabbix ~]# cd /usr/lib/zabbix/alertscripts/
- [root@zabbix alertscripts]# vi zabbix-email.py
- #!/usr/bin/python
- #coding:utf-8
- import smtplib
- from email.mime.text import MIMEText
- import sys
- mail_host = 'smtp.163.com'
- mail_user = '15626866674'
- mail_pass = '15626866674.'
- mail_postfix = '163.com'
- def send_mail(to_list,subject,content):
- me = "zabbix3.4 监控告警平台"+"<"+mail_user+"@"+mail_postfix+">"
- msg = MIMEText(content, 'plain', 'utf-8')
- msg['Subject'] = subject
- msg['From'] = me
- msg['to'] = to_list
- try:
- s = smtplib.SMTP()
- s.connect(mail_host)
- s.login(mail_user,mail_pass)
- s.sendmail(me,to_list,msg.as_string())
- s.close()
- return True
- except Exception,e:
- print str(e)
- return False
- if __name__ == "__main__":
- send_mail(sys.argv[1], sys.argv[2], sys.argv[3])
- # 添加上面内容, 并修改邮箱
- [root@zabbix alertscripts]# chmod +x zabbix-email.py # 修改权限
9.2 管理 --- 报警媒介类型 --- 创建媒体类型
名称: zabbix-email
类型: 脚本
脚本名称: zabbix-email.py
脚本参数:{ALERT.SENDTO}
- {ALERT.SUBJECT}
- {ALERT.MESSAGE}
- {ALERT.URL}
9.3 管理 --- 用户, 点击 admin, 选择报警媒介并添加
9.4 配置动作, 编辑动作, 然后添加操作, 添加恢复操作
操作
时间: 60s
接收人: 问题警告: {TRIGGER.NAME}
默认信息: 问题警告 started at {EVENT.TIME} on {EVENT.DATE}
问题警告对象: {TRIGGER.NAME}
- Host: {HOST.NAME}:{HOST.CONN}
- Severity: {TRIGGER.SEVERITY}
- Original problem ID: {EVENT.ID}
- {TRIGGER.URL}
注: 记得添加发送到用户
恢复操作
接收人: 告警已恢复: {TRIGGER.NAME}
默认信息:
告警已恢复 at {EVENT.RECOVERY.TIME} on {EVENT.RECOVERY.DATE}
告警恢复对象: {TRIGGER.NAME}
- Host: {HOST.NAME}:{HOST.CONN}
- Severity: HEALTH
- Original problem ID: {EVENT.ID}
- {TRIGGER.URL}
注: 记得添加发送到用户
9.4 测试
- ## 记得客户端 Server-IP 要指向服务器的 IP
- vim /usr/local/zabbix/etc/zabbix_agentd.conf
- Server=10.0.0.137
- ## 往往邮箱收不到邮件的原因是没打开邮箱设置里面的 POP3 服务
来源: http://www.bubuko.com/infodetail-2520909.html