0

0

Lnmp搭建zabbix运维监控系统

步履不停

步履不停

发布时间:2019-06-18 13:46:56

|

3390人浏览过

|

来源于php中文网

原创

linux1.png

使用目的?

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

zabbix能做什么?

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

搭建环境

centos7.0,lnmp集成环境(mysql5.7,php7.2),zabbix4.0版本。手册给到如下几种安装方式:

  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用户 为什么要给zabbix创建一个单独的用户,很简单,是因为安全问题。为了安全考虑zabbix只使用普通用户运行,假如你当前用户叫ttlsa,那么你运行他,他便使用ttlsa身份运行。但是如果你在root环境下运行zabbix,那么zabbix将会主动使用zabbix用户来运行。但是如果你的系统没有名叫zabbix的用户,你需要创建一个用户。

groupadd zabbix
useradd -g zabbix zabbix

4.数据库相关配置 考虑到安全问题,因此这里我们同样的给zabbix创建一个单独的数据库用户,数据库名称也是zabbix。在本文中创建的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为例)

X Detector
X Detector

最值得信赖的多语言 AI 内容检测器

下载

使用zabbix

我们在登录时候,会提示我们一些安装信息,我们按照提示填写即可。在安装之后会自动跳转到登录页面,可以选择宾客模式也可以使用管理员模式。

屏幕快照 2019-06-14 00.20.13.png

宾客模式就只是简单的浏览操作。系统默认的管理账号是Admin,密码是zabbix。 在使用管理员账号的时候会可能会提示如下信息。如要是因为我们的web服务导致的,如果是使用的Apache则不会出现如下问题。

login-as-guest.png

问题根源是在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=
    ServerActive=
    Hostname=<本机的主机名>
4.设置zabbix-agent服务自启动并启动服务
    systemctl enable zabbix-agent.service      开机自启动
    systemctl start zabbix-agent.service          启动服务

更多Linux相关技术文章,请访问Linux教程栏目进行学习!

相关专题

更多
php文件怎么打开
php文件怎么打开

打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

2524

2023.09.01

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

1600

2023.10.11

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

1493

2023.10.11

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

952

2023.10.23

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

1416

2023.10.23

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

1234

2023.11.03

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1445

2023.11.09

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1306

2023.11.13

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

36

2026.01.14

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.1万人学习

Git 教程
Git 教程

共21课时 | 2.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号