Home  >  Article  >  Operation and Maintenance  >  Lnmp builds zabbix operation and maintenance monitoring system

Lnmp builds zabbix operation and maintenance monitoring system

步履不停
步履不停Original
2019-06-18 13:46:562964browse

Lnmp builds zabbix operation and maintenance monitoring system

Purpose of use?

I need to do a log monitoring in the company project. I chose efk at the beginning, but there is relatively little information about efk and I have not used it before. I have never come across this product and it is difficult to use. So Zabbix was chosen as the project's operation and maintenance monitoring system.

What can zabbix do?

zabbix is ​​mainly used for network monitoring, system monitoring, application monitoring and other scenarios. Zabbix is ​​divided into server side and agent side. The first half of the article is about the installation operation on the server side, and the end of the article explains the installation operation on the agent side.

Build environment

centos7.0, lnmp integrated environment (mysql5.7, php7.2), zabbix4.0 version. The manual gives the following installation methods:

  1. Source code installation (this article uses source code installation)
  2. Binary installation
  3. Container installation, such as docker installation

Installation steps

1. Install lnmp environment Due to the lnmp integration package, the installation is very convenient, so you can directly install the official website manual with one click. 2. Install the zabbix server

# 安装依赖
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. Create a zabbix user Why do we need to create a separate user for zabbix? It's very simple, because of security issues. For security reasons, zabbix only runs as a normal user. If your current user is called ttlsa, then if you run it, it will run as ttlsa. But if you run zabbix in the root environment, then zabbix will actively run as the zabbix user. But if your system does not have a user named zabbix, you need to create one.

groupadd zabbix
useradd -g zabbix zabbix

4. Database related configuration Considering security issues, here we also create a separate database user for zabbix, and the database name is also zabbix. The MySQL user created in this article is zabbix, and the password can be defined according to yourself.

5. Import the data prepared by zabbix. .View database files

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

. The above directories are for different data. Zabbix comes with different database files. We are using MySQL, so we only need to care about the files under the mysql directory, as follows That is the file we need. schema.sql file number data table structure, images.sql is the related picture data structure, and data.sql is the related data structure.

-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

. Log in and import the database

# 登录数据
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

Configure virtual domain name

The zabbix built in this article is built in the virtual environment of centos7.0. In order to For easy access, a virtual domain name is built. You only need to configure an nginx file. If the lnmp integrated development environment is used in the environment, use the command that comes with the lnmp integrated development environment to create

lnmp vhost add 
# 指定root的目录,应该为
/home/wwwroot/zabbix-4.2.3/frontends/php
# 应该开启pathinfo模式,
#rwriter 选择WordPress(不强制要求)

in the local location. Add the above self-configured virtual domain name to the hosts file (take .dev.zabbix.com as an example)

Using zabbix

When we log in, we will be prompted We can fill in some installation information as prompted. After installation, you will automatically jump to the login page. You can choose guest mode or administrator mode.

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

Guest mode is just a simple browsing operation. The system's default management account is Admin and the password is zabbix. When using an administrator account, you may be prompted with the following message. If it is caused by our web service, if Apache is used, the following problems will not occur.

Lnmp builds zabbix operation and maintenance monitoring system

The root cause of the problem is found in the zabbix php positioning problem. Zabbix sets permissions based on the php file name, such as index.php, dashboard.php, etc. If cgi.fix_pathinfo is set If it is 0, then PHP cannot obtain the file name requested by the URL. For example, when accessing index.php, it cannot obtain index.php and locate the permissions, so this error occurs. The solution is: modify the configuration of the php.ini file.

cgi.fix_pathinfo=0
改为
cgi.fix_pathinfo=1

At this time, when we log in, we can see the following interface.

Install the agent

Configuration file directory:/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>
    ServerActive=<zbx-server>
    Hostname=
4.设置zabbix-agent服务自启动并启动服务
    systemctl enable zabbix-agent.service      开机自启动
    systemctl start zabbix-agent.service          启动服务</zbx-server></zbx-server>

For more Linux-related technical articles, please visitLinux Tutorial column to learn!

The above is the detailed content of Lnmp builds zabbix operation and maintenance monitoring system. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn