搭建自动化服务平台 ---zabbix 监控平台
准备环境
准备一台 Linux 主机 (CentOS 7 举例)
已经安装好 LAMP 平台
关闭防火墙及 SELinux
设置 IP 地址
设置好 yum 源
Linux 指令中的个别符号会与博客的文本编辑语言产生冲突, 我会用空格隔开方便阅读 具体的以实际语法为准
实验开始
准备 zabbix 平台环境
服务器地址设置
更改主机名
[root@zabbix-server ~] hostnamectl set-hostname zabbix-server // 设置主机名
配置 IP 地址
- [root@ zabbix-server ~] nmcli connection modify ens33 ipv4.addresses 192.168.139.132 // 设置 IP 地址
- [root@ zabbix-server ~] nmcli connection up ens33 // 激活网卡
添加主机映射
- [root@ zabbix-server ~] VIM /etc/hosts
- 192.168.139.132 zabbix zabbix-server.com // 在 VIM 中写入该指令 另起一行
检查是否能够 ping 通设置的网站
- [root@ zabbix-server ~] ping zabbix-server.com //ping 刚才在 VIM 写入的网址
- PING zabbix (192.168.139.132) 56(84) bytes of data.
- 64 bytes from zabbix (192.168.139.132): icmp_seq=1 ttl=64 time=0.032 ms
- 64 bytes from zabbix (192.168.139.132): icmp_seq=2 ttl=64 time=0.034 ms
安装并启用 LAMP 平台
安装 LAMP 组件
[root@ zabbix-server ~] yum -y install httpd mariadb mariadb-server PHP PHP-MySQL // 安装软件包
已安装:
- httpd.x86_64 0:2.4.6-89.el7.CentOS mariadb.x86_64 1:5.5.60-1.el7_5
- mariadb-server.x86_64 1:5.5.60-1.el7_5 PHP.x86_64 0:5.4.16-46.el7
- PHP-MySQL.x86_64 0:5.4.16-46.el7
检查是否安装成功
[root@zabbix-server ~]# yum list httpd mariadb mariadb-server PHP PHP-MySQL
已加载插件: fastestmirror, langpacks
- Loading mirror speeds from cached hostfile
- * base: mirrors.aliyun.com
- * extras: ap.stykers.moe
- * updates: mirrors.aliyun.com
已安装的软件包
- httpd.x86_64 2.4.6-89.el7.CentOS @updates
- mariadb.x86_64 1:5.5.60-1.el7_5 @base
- mariadb-server.x86_64 1:5.5.60-1.el7_5 @base
- PHP.x86_64 5.4.16-46.el7 @base
- PHP-MySQL.x86_64 5.4.16-46.el7
启用 LAMP 服务
- [root@zabbix-server ~] systemctl restart httpd mariadb // 重启服务
- [root@zabbix-server ~] systemctl enable httpd mariadb // 设置开机自启
- Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
- Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.s
设置防火墙和 SELinux
关闭防火墙
- [root@zabbix-server ~] systemctl stop firewalld.service // 关闭防火墙
- [root@zabbix-server ~] systemctl disable firewalld.service // 进制开机自启
- Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
- Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
关闭 SELinux 机制
- [root@zabbix-server ~] setenforce 0 // 使 SELinux 失效
- [root@zabbix-server ~] VIM /etc/selinux/config // 开机时禁止
- // 进入到 VIM 编辑模式 更改第一个 SELinux 的值
- # This file controls the state of SELinux on the system.
- # SELINUX= can take one of these three values:
- # enforcing - SELinux security policy is enforced.
- # permissive - SELinux prints warnings instead of enforcing.
- # disabled - No SELinux policy is loaded.
- **SELINUX=disabled**
- # SELINUXTYPE= can take one of three values:
- # targeted - Targeted processes are protected,
- # minimum - Modification of targeted policy. Only selected processes are protected.
- # mls - Multi Level Security protection.
- SELINUXTYPE=targeted
zabbix 安装及初始化
安装 zabbix 相关软件包
确认软件包
可以使用 XFTP 连上 CentOS 7 将准备好的 zabbix-server 文件传到 / root 目录下
安装 zabbix 服务器依赖包
- [root@ zabbix-server ~] ls /root/zabbix-server/
- [root@ zabbix-server ~] yum -y install zabbix-server/*.rpm
- [root@zabbix-server ~] yum list "zabbix*"
- 已安装的软件包
- zabbix-agent.x86_64 3.4.15-1.el7 @zabbix
- zabbix-release.noarch 3.4-2.el7 installed
- zabbix-server-MySQL.x86_64 3.4.15-1.el7 @zabbix
- zabbix-server-pgsql.x86_64 3.4.15-1.el7 @zabbix
- zabbix-web.noarch 3.4.15-1.el7 @zabbix
- zabbix-Web-MySQL.noarch 3.4.15-1.el7
- 配置解析环境 更改时区
- 修改 zabbix 的 Web 服务器配置
- [root@zabbix-server ~] VIM /etc/httpd/conf.d/zabbix.conf
- ...
- php_value date.timezone Asia/Shanghai // 删掉 #号 将时区改为上海
- ...
- [root@zabbix-server ~] systemctl restart httpd // 重启 Web 服务
- 初始化数据库连接
- 新建 zabbix 库 授权用户 zabbix 访问 密码为 pwd@123
- [root@zabbix-server ~] MySQL -uroot
- MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
- MariaDB [(none)]> grant all on zabbix.* to zabbix@localhost identified by 'pwd@123';
- MariaDB [(none)]> quit;
- 导入 zabbix 服务提供的初始库
- [root@zabbix-server ~] zcat /usr/share/doc/zabbix-server-MySQL*/create.sql.gz | MySQL -uzabbix -ppwd@123 zabbix
设置数据库连接
- [root@zabbix-server ~] VIM /etc/zabbix/zabbix_server.conf
- ...
- DBName=zabbix // 数据库名
- DBUser=zabbix // 数据库用户
- DBPassword=pwd@123 // 连接密码
zabbix 监控界面
开启 zabbix 相关服务
启动 zabbix-serer,zabbix-agent
- [root@zabbix-server ~] systemctl restart zabbix-server zabbix-agent
- [root@zabbix-server ~] systemctl enable zabbix-server zabbix-agent
确认 httpd 网站服务已开启
[root@zabbix-server ~] systemctl restart httpd
访问 Web 界面 初始化设置
访问部署好的 zabbix 监控系统页面
在浏览器中访问 http://192.168.139.132/zabbix/
点击 Next Step 按钮
确认各项状态无误后点击 Next Step
设置库名 zabbix, 用户名 zabbix, 密码 pwd@123 点击 Next Step
name 这里起个名字 再次点击 Next Step
再点一次 Next Step 点 Finish
zabbix 基础设置
回到登录界面 开始登陆
使用默认管理员的账号登陆
- Username:Admin
- Password:zabbix
登录成功后 显示 zabbix 监控的网页
更改语言设置 点击 zabbix 监控平台右上方的头像标识
在 language 选项中选择 Chinese
可以更换一个炫酷一点的主题 在刚才设置中文下面的选项中选择 dark
常见问题
下面这些问题是我个人这几天遇到的 希望能让你们少走弯路
提示安装 PHP 服务出错
这个问题可能是 yum 仓库设置的时候有问题
两种解决方法
检查设置 yum 仓库的命令是否正确
设置完 yum 源一定要 repolist 检查一下看看数据正不正常
理论上说 --add 后面不加 - repo 也行 但是我就是不行 还是加上吧
[root@zabbix-server ~] yum-config-manager --add-repo file:///repo/cos7dvd/
可能是软件依赖关系的问题
- [root@zabbix-server ~] yum -y remove httpd-tools PHP-common mariadb-libs
- [root@zabbix-server ~] yum -y install httpd mariadb mariadb-server PHP PHP-MySQL
- [root@zabbix-server ~] yum -y install postfix
安装 zabbix-server 包时出错
可能是 Linux 的版本跟 zabbix-server 的版本不一致导致的
CentOS 7-1804 版本的是 9 个包 16 版本的包更多一点 需要下载对应的包
MySQL -uroot 登录数据库时报错 ERROR2002
这个错误指令应该是数据库没启动
如果启动了还是这样的话 可能跟上面的问题原因一样
16 版本的话安装不是 mariadb 包 应该是: MySQL-community-server.x86_64
解决方法:
- [root@zabbix-server ~] wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
- [root@zabbix-server ~] yum localinstall mysql57-community-release-el7-8.noarch.rpm
- [root@zabbix-server ~] yum repolist enabled |grep "mysql.*-community.*"
- [root@zabbix-server ~] yum -y install MySQL-community-server.x86_64
- [root@zabbix-server ~] systemctl start mysqld
- [root@zabbix-server ~] systemctl status mysqld
- [root@zabbix-server ~] systemctl enable mysqld
进入数据库设置密码时报错 ERROR3009
由于曾经升级过数据库, 升级完成后没有使用 mysql_upgrade 升级数据结构造成
解决方法:
[root@zabbix-server ~] mysql_upgrade -uroot
总结
被上面这几个问题卡了好几天, 慢慢琢磨, 百度才解决这些问题, 希望能够帮助到你们
搭建 zabbix 还是很有必要的, 很多公司都在用 zabbix, 也是运维必备技能
一般容易出错的地方就是在 yum 源 版本这块 往往也是不起眼的小问题往往容易被忽略
有任何问题和文中错误的地方可以评论或私信告诉我
来源: http://blog.51cto.com/14309999/2406268