使用目的?

在公司项目中需要做一个日志监控,最开始选择的是efk,但是efk的资料相对较少并且之前对这几个产品都没接触过,使用起来难度。于是选择了zabbix作为项目的运维监控系统。

zabbix能做什么?

zabbix主要是用来网络监控、系统监控、应用监控等场景。zabbix分为server端和agent端,文章前半部分都是在讲server端的安装操作,后面结尾讲解agent的安装操作。

搭建环境

centos7.0,lnmp集成环境(mysql5.7,php7.2),zabbix4.0版本。zabbix安装的具体环境要求可参考官网手册。
手册给到如下几种安装方式:

  1. 源码安装(本文采用的也就是源码安装)
  2. 二进制安装
  3. 容器安装,例如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用户
<font color='blue'>为什么要给zabbix创建一个单独的用户,很简单,是因为安全问题。为了安全考虑zabbix只使用普通用户运行,假如你当前用户叫ttlsa,那么你运行他,他便使用ttlsa身份运行。但是如果你在root环境下运行zabbix,那么zabbix将会主动使用zabbix用户来运行。但是如果你的系统没有名叫zabbix的用户,你需要创建一个用户。</font>

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          启动服务

部分文章参考公众号:浪子编程走四方

转载于:https://blog.51cto.com/10992108/2408761

Lnmp搭建zabbix运维监控系统相关推荐

  1. Open-falcon运维监控系统——微信接口二次开发

    1.Open-falcon运维监控系统简介 OpenFalcon是一款由小米运维团队从互联网公司的需求出发, 根据多年的运维经验,结合市面上使用的一些运维监控系统的使用经验和反馈,开发的一套企业级.高 ...

  2. 运维监控系统实战笔记(day1)

    第一次课 监控需求直接的是为了出现问题时能及时感知到.新的需求: 通过监控了解数据趋势,知道系统在未来的某个时刻可能出问题,预知问题. 通过监控了解系统的水位情况,为服务扩缩容提供数据支撑. 通过监控 ...

  3. 常用的17个运维监控系统

    1. Zabbix Zabbix 作为企业级的网络监控工具,通过从服务器,虚拟机和网络设备收集的数据提供实时监控,自动发现,映射和可扩展等功能. Zabbix的企业级监控软件为用户提供内置的Java应 ...

  4. 基于Linux+Nagios+Centreon+Nagvis等构建海量运维监控系统

    参考书目:<海量运维监控系统规划与部署 基于Linux+Nagios+Centreon+Nagvis等> 付哲著 系统环境规划: 基于阿里云centos6.8镜像升级到centos6.9, ...

  5. 转:运维监控系统-监控项及指标的梳理

    转自: 运维监控系统-监控项及指标的梳理_程序员杂谈-CSDN博客_运维监控指标综合监控功能工具 综合监控工具完成对被管对象的集中监控.集中维护和集中管理,被管对象包括网络设备.服务器.PC设备.数据 ...

  6. 明辰智航云安网络与虚拟化性能管理系统—运维监控系统

    什么是运维监控系统数字转型? 多年来,IT经历了过渡的各个阶段.早期,我们从大型主机和终端到数据中心的较小服务器占用空间,而这些数据中心的用户端点本质上是图形的,并了解了监视解决方案的价值.今天,我们 ...

  7. 智能运维监控系统怎么选

    智能运维技术可以将人工智能技术和计算机运维技术相结合,通过一些智能深度学习的方法提升商家在计算机后台的工作效率,其拥有多项快速和高效的运维能力. 运维监控软件具有什么功能 企业在面对着大型数据接口时会 ...

  8. 基于SpringBoot+Bootstrap极简运维监控系统

    真正的大师,永远都怀着一颗学徒的心! 一.项目简介 基于SpringBoot+Bootstrap极简运维监控系统 二.实现功能 支持cpu使用率 支持cpu温度 支持内存使用率 支持磁盘容量 支持磁盘 ...

  9. 可快速部署的轻量级运维监控系统——WGCLOUD

    WGCLOUD,是国人开源的一款运维监控系统,轻巧实用,具备高性能.自动化等特点,对新手来讲,几乎没有什么学习成本,上手可用,部署方便. 这是一张wgcloud运行的数据通信图 WGCLOUD的ser ...

最新文章

  1. “人工智能”浪潮退去,“AI四小龙”怎么了?
  2. CentOS 5.6配置PPTP+Radius+Daloradius认证服务器傻瓜教程
  3. Java截取最后一个/后面的所有字符
  4. java活动安排_贪心法求解活动安排(java实现)
  5. html5弹窗全屏,jQuery炫酷全屏模态窗口插件
  6. vue --- 提交表单到服务器
  7. linux下搜狗输入法无法输入中文解决方法
  8. 信息学奥赛一本通 1121:计算矩阵边缘元素之和 | OpenJudge NOI 1.8 03:计算矩阵边缘元素之和
  9. java大神养成计划
  10. 任正非号召华为员工学习一份20页 5G PPT:认识5G,发展5G
  11. xtrabackup 2.4.3 BUG
  12. 苏槐: 数据治理的本质及实践
  13. 易语言 html 替换全角 半角,易语言全角与半角转换的使用讲解
  14. 安装排版软件latex
  15. python刷新网页_python调用浏览器刷新网页的简单示例
  16. 【数据结构与算法-动态规划系列经典例题汇总】
  17. 自动驾驶 Automotive SPICE(ISO/IEC 15504) 和CMMI有什么不同?
  18. python3-函数与参数以及空值
  19. 基于亚像素的边缘检测方法
  20. 计算机网络要点归纳-(谢希仁版本)

热门文章

  1. 产品经理常用工具有哪些?哪些产品经理工具最有用?
  2. Django笔记---数据库设计
  3. ViewPagerIndicator+viewpager的简单使用,不需要导入Library包
  4. swift2.2的新特性
  5. java字节码忍者禁术
  6. 附5、MDT 2013 Update 1批量部署-更新版无法修改共享文件夹参数的解决办法
  7. Linux6.4的FTP参数
  8. Android里的shell的系统命令
  9. Git 在推送(Push)信息的时候提示git did not exit cleanly (exit code 1)的解决办法
  10. P2176 [USACO14FEB]路障Roadblock