Zabbix4.2Server端部署
一、安装
1、前期安装准备
前期准备一个大一点的分区准备用于zabbix 数据库的存放,为方便后期扩容,我们在这里选择新加一个磁盘并以LVM的方式进行挂载(此处省略虚拟机添加硬盘等操作)
# df -h \\看到新盘已经挂载到VAR/LIB/MYSQL目录了

替换yum源
刚安装好的Centos自带的yum源是无法使用的,要替换成国内的YUM源
# mv /etc/yum.repos.d/ /etc/yum.repos.d.bak \\备份自带的yum源

# mkdir /etc/yum.repos.d \\创建新的yum源存放目录

# cd /etc/yum.repos.d \\切换到新的yum源存放目录下

# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo \\下载Centos7的Yum源
# ls \\查看是否下载成功

2、安装zabbix RPM源
2.1下载zabbix RPM源包
# wget https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-2.el7.noarch.rpm \\下载Zabbix4.2yum源

# ls

2.2安装zabbix RPM源包
# rpm -i zabbix-release-4.2-.el7.noarch.rpm \\安装Zabbix4.2源码包

安装时会出现告警,原因是因为GPG Keys版本不对,解决方法如下
(参考文档 :https://www.cnblogs.com/tijun/p/8651709.html)
# rpm --import /etc/pki/rpm-gpg/RPM* \\导入新密钥

# rpm -e zabbix-release \\卸载刚才装的zabbix RPM源

# rpm -qa|grep zabbix \\查询是否已经卸载

# rpm -i zabbix-release-4.2-.el7.noarch.rpm \\再安装上就没有警告了,并且安装成功

3、安装zabbix组件(zabbix-server、zabbix-web-mysql、zabbix-agent)
# yum install zabbix-server-mysql.x86_64 zabbix-web-mysql.noarch zabbix-agent.x86_64 安装Zabbix4.2组件

因显示数目过多,中间省略一部分


因显示数目过多,中间省略一部分

4、安装mysql数据库,导入zabbix数据库
4.1安装mysql数据库
我们的系统中没有安装MYSQL,需要先安装一个MYSQL(ZABBIX官方默认已安装)
4.1.1下载mysql repo源
# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

4.1.2安装mysql repo源
# rpm -i mysql-community-release-el7-.noarch.rpm

4.2安装mysql-server
# yum install mysql-server


4.3安装完成后启动服务,并将mysql服务设置为开机启动。

4.4初始化mysql
# mysql_secure_installation


4.5创建zabbix数据库,并授权
#mysql -u root -p \\使用root用户登录mysql数据库
Enter password: P@ssw0rd \\输入密码
Mysql >create database zabbix character set utf8 collate utf8_bin;

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

(赋予来自localhost的zabbix用户对zabbix数据库的所有表拥有所有操作的所有权限,并设定密码为zabbix。如grant all privileges on A.* to B@C identified by ‘D’;的意思即为赋予来自C主机的B用户对A数据库的所有表=*拥有所有操作的所有权限=all,并设定密码为D)
4.6导入zabbix数据库
将zabbix制作好的数据库导入mysql数据库中
# zcat /usr/share/doc/zabbix-server-mysql-4.2./create.sql.gz |mysql -uzabbix -p zabbix

# mysql -u zabbix -p

Enter password: zabbix 输入zabbix密码 mysql>use zabbix; \\切换到zabbix数据库 mysql>show tables;

此时数据库已经配置完成了
5、配置zabbix
5.1配置zabbix配置文件
# vim /etc/zabbix/zabbix_server.conf

DBPassword=zabbix \\添加一行

修改zabbix服务器时区
# vim /etc/httpd/conf.d/zabbix.conf

php_value date.timezone Asia/Shanghai \\新加一行

5.2启动服务
# systemctl start zabbix-server.service

5.3排错
参考文档 https://www.cnblogs.com/awakenedy/articles/9134242.html
首先我们查看当前selinux级别
# getenforce \\查看当前selinux级别

我们将selinux临时设置为permissive模式
# setenforce \\修改目前selinux级别为permissive
# getenforce \\查看当前selinux级别

# systemctl start zabbix-server.service \\再次启动zabbix-server服务,查看是否是selinux的影响

这里可以得知是selinix影响了zabbix-server服务的启动
# reboot \\重启服务器
# systemctl start zabbix-server.service

那么我们查看selinux的日志
tail -n 1 /var/log/messages \\查看系统日志的最后一行

按照selinux提供的建议我们执行以下2个命令(需要仔细看日志,命令可能不一样)
# ausearch -c 'httpd' --raw | audit2allow -M my-httpd # semodule -i my-httpd.pp

将Selinux改成enforcing模式

启动服务
systemctl start zabbix-server
systemctl start zabbix-agent
systemctl start httpd

systemctl enable zabbix-server.service zabbix-agent.service httpd.service

二、配置zabbix web
登录zabbix
在浏览器输入host IP/zabbix

组件检查

配置数据库

配置zabbix服务器资料

验证配置


登录初始化

进行汉化设置




中文设置完成

汉化完成
2、排错
在汉化过程中你会发现一直有一个错误

先考虑是否是selinux的问题
现将selinux设置为pervissive
# setenforce
# getenforce

再次刷新网页

报错消失页面恢复正常
我们看看selinux的日志记录
# tail -n /var/log/messages

按照selinux提供的建议我们执行以下2个命令
# ausearch -c 'httpd' --raw | audit2allow -M my-httpd
# semodule -i my-httpd.pp

重启三个服务
# systemctl restart zabbix-server.service zabbix-agent.service httpd.service

将selinux还原
# setenforce
# getenforce

再次重启服务
# systemctl restart zabbix-server.service zabbix-agent.service httpd.service

重新登录web

页面正常
Zabbix4.2Server端部署的更多相关文章
- 内网穿透神器(ngrok)服务端部署【分享一台自己的ngrok服务器】【多平台】
Ngrok为何物 “ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道.ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放.”这是百度百科上给Ng ...
- 基于LNMP的Zabbix4.0.1部署
转:http://www.safecdn.cn/monitor/2018/12/lnmp-zabbix4-0-1-install/306.htmlZabbix4.0.1部署 一 安装源和Zabb ...
- CAS单点登录之服务端部署
一.CAS服务端搭建 1.1 CAS支持Http登录配置 CAS默认是要https的链接才能登录的,不过学习的话是可以先去掉https限制,本博客介绍的是基于Cas4.2.7的,之前改过4.0的,详情 ...
- HVR数据复制软件部署之(一)--HUB端部署
HVR数据复制软件部署之(一)--HUB端部署 本文环境: OS: RHEL5.9 x86-64bit DB: Oracle 12.1.0.2 x86-64bit HVR:highgohvr-4.7. ...
- Rsync服务端部署流程
Rsync服务端部署流程 Rsync服务端部署流程: 一.rsync服务端配置流程 配置rsync配置文件/etc/rsyncd.conf 创建同步的本地目录/dingjian 并根据需要 ...
- tensorflow从训练自定义CNN网络模型到Android端部署tflite
网上有很多关于tensorflow lite在安卓端部署的教程,但是大多只讲如何把训练好的模型部署到安卓端,不讲如何训练,而实际上在部署的时候,需要知道训练模型时预处理的细节,这就导致了自己训练的模型 ...
- Sprint 5 summary: UI 界面更新,Azure端部署和用户反馈分析 12/28/2015
本次sprint主要完成的任务有对手机APP的UI界面的更新,同时对Azure客户端的部署进行了相应的学习和有关的程序设计.同时对于ALPHA release的用户反馈做出相应的分析以确定接下来工作的 ...
- Zabbix5.0服务端部署
Zabbix5.0服务端部署 基础环境配置 [root@localhost ~]# systemctl disable --now firewalld Removed symlink /etc/sys ...
- zabbix--客户端部署(新手入门)
zabbix--客户端部署 机器环境部署:我准备的一台zabbix客户端#可以准备多台 ip: 安装软件包 [root@server1 ~]# rpm -Uvh https://repo.zabbix ...
随机推荐
- Pedro domingos
Dear Professor: I am a university student in China and study on MLN recently; ...
- iOS——偏好设置的创建,数据写入与读取
NSUserDefaults与NSDictinary? 应用通过NSUserDefaults用键值对的方式来读取和保存偏好设置数据,与通过键从NSDictionary对象中获取数据一样,不同之处在于N ...
- hello/hi的简单的网络聊天程序
hello/hi的简单的网络聊天程序 0 Linux Socket API Berkeley套接字接口,一个应用程序接口(API),使用一个Internet套接字的概念,使主机间或者一台计算机上的进程 ...
- 终端复用器tmux基础使用
简介对于经常操作Linux系统的同学来说,远程连接Linux服务器使用最多的工具是SecureCRT或者Xshell,而将此时的环境称为终端环境.Tmux是两个单词的缩写,即“Terminal Mul ...
- Python Elasticsearch
以下所用版本为Elasticsearch 7.2.0 1.安装 pip3 install elasticsearch -i https://pypi.tuna.tsinghua.edu.cn/simp ...
- 微信公众号通过用户授权获取用户基本信息java版
公司需要开发一个微信公众号,要求用户通过公众号登录公司网站时候自动获取用户的基本信息,在网上查资料发现大部分都是直接copy微信公众平台的开发文档,感觉还是介绍的不是太小白,所以为了方便大家也为了自己 ...
- spring session实现同域下单点登录
Session会话管理 在Web项目开发中,Session会话管理是一个很重要的部分,用于存储与记录用户的状态或相关的数据:通常情况下session交由容器(tomcat)来负责存储和管理,但是如果项 ...
- (四)循环队列 VS 数组队列 (效率对比)
目录 背景 测试代码 结果 链表 随机访问 背景 各自完成插入 10万.20万 条随机数,然后再将这些随机数出队列 : 测试代码 /** * 测试速度 */ public String testSpe ...
- 洛谷 P2746 [USACO5.3]校园网Network of Schools
题目描述 一些学校连入一个电脑网络.那些学校已订立了协议:每个学校都会给其它的一些学校分发软件(称作“接受学校”).注意即使 B 在 A 学校的分发列表中, A 也不一定在 B 学校的列表中. 你要写 ...
- Python基础 第四章 字典(2)字典方法&章小结
1. clear 方法clear删除所有的字典项,就地执行,什么都不返回(或者说返回None) d = {} d['name'] = 'Gumby' d['age'] = 42 print(d) re ...