Lnmp搭建zabbix运维监控系统
使用目的?
在公司项目中需要做一个日志监控,最开始选择的是efk,但是efk的资料相对较少并且之前对这几个产品都没接触过,使用起来难度。于是选择了zabbix作为项目的运维监控系统。
zabbix能做什么?
zabbix主要是用来网络监控、系统监控、应用监控等场景。zabbix分为server端和agent端,文章前半部分都是在讲server端的安装操作,后面结尾讲解agent的安装操作。
搭建环境
centos7.0,lnmp集成环境(mysql5.7,php7.2),zabbix4.0版本。zabbix安装的具体环境要求可参考官网手册。
手册给到如下几种安装方式:
- 源码安装(本文采用的也就是源码安装)
- 二进制安装
- 容器安装,例如docker安装
安装步骤
1.安装lnmp环境
由于lnmp集成包,安装非常方便,因此直接安装官网手册一键安装即可.官网地址
2.安装zabbix服务端
# 安装依赖
yum install net-snmp-devel libxml2-devel libcurl-devel libevent-devel mysql-devel
# 下载安装包(该安装包可以直接放在web的程序目录里面)
wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/4.2.3/zabbix-4.2.3.tar.gz/download
# 解压
tar zxvf zabbix-4.2.3.tar.gz
# 编译(这里我使用的是mysql,所以在编译的时候是用的mysql的依赖,如果是其他的数据库按照官网手册编译的时候编译其他的数据库依赖)
cd zabbix-4.2.3
./configure --prefix=/web/data/zabbix-3.4.4/ --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
# 开始安装
make && make install
3.创建zabbix用户
为什么要给zabbix创建一个单独的用户,很简单,是因为安全问题。为了安全考虑zabbix只使用普通用户运行,假如你当前用户叫ttlsa,那么你运行他,他便使用ttlsa身份运行。但是如果你在root环境下运行zabbix,那么zabbix将会主动使用zabbix用户来运行。但是如果你的系统没有名叫zabbix的用户,你需要创建一个用户。
groupadd zabbix
useradd -g zabbix zabbix
4.数据库相关配置
考虑到安全问题,因此这里我们同样的给zabbix创建一个单独的数据库用户,数据库名称也是zabbix。MySQL创建用户可以参考之前的一篇文章,MySQL创建用户传送门。在本文中创建的MySQL用户为zabbix,密码可以根据自己定义。
5.导入zabbix事先准备好的数据。
.查看数据库文件
cd /home/wwwroot/zabbix-4.2.3/database && ls
drwxr-xr-x 2 mysql mysql 4096 6月 6 02:23 elasticsearch
drwxr-xr-x 2 mysql mysql 4096 6月 13 10:10 ibm_db2
-rw-r--r-- 1 root root 21474 6月 13 10:10 Makefile
-rw-r--r-- 1 mysql mysql 155 6月 6 02:23 Makefile.am
-rw-r--r-- 1 mysql mysql 21722 6月 6 02:24 Makefile.in
drwxr-xr-x 2 mysql mysql 4096 6月 13 10:10 mysql
drwxr-xr-x 2 mysql mysql 4096 6月 13 10:10 oracle
drwxr-xr-x 2 mysql mysql 4096 6月 13 10:10 postgresql
drwxr-xr-x 2 mysql mysql 4096 6月 13 10:10 sqlite3
.上面的几种目录就是针对不同的数据,zabbix自带的不同的数据库文件,我们是使用的MySQL,因此我们只需要关心mysql目录下面的文件,下面即是我们需要的文件。schema.sql文件数数据表结构,images.sql是相关的图片数据结构,data.sql则是相关的数据结构。
-rw-r--r-- 1 mysql mysql 4018823 6月 6 02:24 data.sql
-rw-r--r-- 1 mysql mysql 1978341 6月 6 02:23 images.sql
-rw-r--r-- 1 root root 15420 6月 13 10:10 Makefile
-rw-r--r-- 1 mysql mysql 392 6月 6 02:23 Makefile.am
-rw-r--r-- 1 mysql mysql 15711 6月 6 02:24 Makefile.in
-rw-r--r-- 1 mysql mysql 142074 6月 6 02:24 schema.sql
.登录并导入数据库
# 登录数据
mysql -u root -p
# 选择实现创建好的zabbix数据库
use zabbix
# 依次导入数据库文件
source /home/wwwroot/zabbix-4.2.3/database schema.sql
source /home/wwwroot/zabbix-4.2.3/database data.sql
source /home/wwwroot/zabbix-4.2.3/database images.sql
配置虚拟域名
本文搭建的zabbix是在centos7.0的虚拟环境中搭建,为了方便访问,搭建了一个虚拟域名.只需要配置一个nginx文件即可.环境中使用的是lnmp集成开发环境,则使用lnmp集成开发环境自带的命令来创建
lnmp vhost add
# 指定root的目录,应该为
/home/wwwroot/zabbix-4.2.3/frontends/php
# 应该开启pathinfo模式,
#rwriter 选择WordPress(不强制要求)
在本地点的hosts文件中添加上述自己配置的虚拟域名(以.dev.zabbix.com为例)
使用zabbix
我们在登录时候,会提示我们一些安装信息,我们按照提示填写即可。在安装之后会自动跳转到登录页面,可以选择宾客模式也可以使用管理员模式。
宾客模式就只是简单的浏览操作。系统默认的管理账号是Admin,密码是zabbix。
在使用管理员账号的时候会可能会提示如下信息。如要是因为我们的web服务导致的,如果是使用的Apache则不会出现如下问题。
问题根源是在zabbix php定位问题发现,zabbix是依据php文件名来设置权限,例如index.php、dashboard.php这些,如果cgi.fix_pathinfo设置为0,那么php无法获取到url请求的文件名称,例如访问index.php,获取不到index.php也定位到权限,于是出现这个错误。解决办法是:修改php.ini文件的配置。
cgi.fix_pathinfo=0
改为
cgi.fix_pathinfo=1
此时我们登录进去就可以看到如下界面了。
安装代理端
配置文件目录:/etc/zabbix/zabbix_agentd.conf
1.在被监控主机上设置防火墙,允许zabbix-agent的10050端口通过
2.执行yum list |grep zabbix,找到zabbix的agent安装包并安装,如包名zabbix-agent.x86_64
3.在 /etc/zabbix/zabbix_agentd.conf 中更改:
Server=<zbx-server的ip>
ServerActive=<zbx-server的ip>
Hostname=<本机的主机名>
4.设置zabbix-agent服务自启动并启动服务
systemctl enable zabbix-agent.service 开机自启动
systemctl start zabbix-agent.service 启动服务
部分文章参考公众号:浪子编程走四方
Lnmp搭建zabbix运维监控系统的更多相关文章
- 运维监控系统之Open-Falcon
一.Open-Falcon介绍 1.监控系统,可以从运营级别(基本配置即可),以及应用级别(二次开发,通过端口进行日志上报),对服务器.操作系统.中间件.应用进行全面的监控,及报警,对我们的系统正常运 ...
- zabbix运维监控平台
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决 ...
- 建设DevOps统一运维监控平台,全面的系统监控 Zabbix VS Nagios VS Open-Falcon OR Prometheus
前言 随着Devops.云计算.微服务.容器等理念的逐步落地和大力发展,机器越来越多,应用越来越多,服务越来越微,应用运行基础环境越来多样化,容器.虚拟机.物理机不一而足.面对动辄几百上千个虚拟机.容 ...
- 运维监控---企业级Zabbix详解_【all】
基础LNMP环境搭建 Linux 下LNMP环境搭建 下载Zabbix 链接:https://pan.baidu.com/s/1n36esVyYAKstwnFopbV2sg 密码:izll 创建zab ...
- 运维监控-基于yum的方式部署Zabbix Server 4.0 版本
运维监控-基于yum的方式部署Zabbix Server 4.0 版本 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.如何选择zabbix版本 1>.打开zabbix官方 ...
- 运维监控-Zabbix Server 使用微信 WeChat 告警
运维监控-Zabbix Server 使用微信 WeChat 告警 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 微信公众号告警每个一天只支持1000次告警,如果超出这个次数了就不 ...
- 运维监控-Zabbix Server 使用QQ SMTP发送邮件报警及定制报警内容
运维监控-Zabbix Server 使用QQ SMTP发送邮件报警及定制报警内容 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客采用腾讯邮箱,想必大家都对QQ很了解,所以 ...
- 运维监控-使用Zabbix Server 创建 Actions
运维监控-使用Zabbix Server 创建 Actions 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. zabbix的action默认是关闭的,因此我们想使用它就得先启用哟. ...
- 运维监控-使用Zabbix Server 创建触发器Triggers
运维监控-使用Zabbix Server 创建触发器Triggers 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 1>.点击相应主机的触发器 2>.点击创建触发器 ...
随机推荐
- CodeForces - 1251E2 (思维+贪心)
题意 https://vjudge.net/problem/CodeForces-1251E2 一共有 n 个选民,你可以付出 pi 的代价让第 i 个选民为你投票,或者,在为你投票的人数达到 mi ...
- jQuery中的事件对象(八)
Event 对象代表事件的状态,比如事件在其中发生的元素.键盘按键的状态.鼠标的位置.鼠标按钮的状态. 一.事件对象基本认识 1. 什么时候会产生Event 对象呢? 例如: 当用户单击某个元素的时 ...
- ORA-12638:身份证明检索失败的解决方法
找到安装目录:E:\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN 打开 sqlnet.ora 找到SQLNET.AUTHENTICATION_SERVICE ...
- 微信小程序-自定义方法的抛出与引用
一. 定义方法与抛出(utils/foo.js文件中) function say () { console.log('自定义的say方法')} # 定义方法 module.exports = {sa ...
- Codeforces Round #553 (Div. 2) E 贡献
https://codeforces.com/contest/1151/problem/E 题意 一条长n的链,每个点上有值\(a[i]\),定义\(f(l,r)\)为该区间的\(值\)所代表的点留下 ...
- Luogu P4585 [FJOI2015]火星商店问题
颓文化课作业到很晚写篇博客清醒一下 首先我们仔细阅读并猜测了题意之后,就会想到一个暴力的线段树套可持久化0/1Trie的做法,但是它显然是过不去的 由于最近再做线段树分治的题,我们可以想到用线段树分治 ...
- 9.29 csp-s模拟测试55 联+赛+题
T1 联 $n$最大到$1e18$,根本没法做,但$m$只有$1e5$,发现有很多区间是一起动的,或者根本没动,所以可以把区间离散化掉,然后线段树区间修改,对于第三种修改,只需要把它分解成一段一段相同 ...
- Linux应试技巧
前言:此文是为了CSP-S第二轮认证所用系统NOI-Linux的写的,但其他的Linux系统也可以按照相同或类似的方法进行配置. 配置NOI-Linux 我大约是一个月以前由于比赛的原因才开始接触NO ...
- H5开发 连接蓝牙打印机 打印标签(斑马ZR628)
1.连接蓝牙打印机(先用手机自带蓝牙进行配对),然后绑定出已配对的蓝牙设备(用来选择/切换打印机之用),代码如下 已配对蓝牙设备,中显示的就是已连接的,点击一下即可 代码: <!DOCTYPE ...
- sql语句优化的30种方法
转载于:https://www.cnblogs.com/Little-Li/p/8031295.html 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的 ...