zoukankan      html  css  js  c++  java
  • 1、zabbix server安装

    1、配置yum源

    vim /etc/yum.repos.d/zabbix.repo
    [zabbix]
    name=zabbix
    baseurl=https://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/
    gpgcheck=0
    enabled=1

    2、安装zabbix server

    由于我们使用mysql作为数据库,所以,在安装zabbix3.X的版本的server端时,需要安装zabbix-server-mysql包,在3.X的zabbix版本中,并没有单独的zabbix server端程序包,安装zabbix-server-mysql包即为安装了server端包,同时,我们可以在服务端安装zabbix_get包,以便向agent端发起测试采集数据请求,所以,我们在server端安装如下包。

    yum install zabbix-server-mysql zabbix-get
    # 若报以下错误
    Error: Package: zabbix-server-mysql-3.0.32-1.el7.x86_64 (zabbix)
               Requires: libiksemel.so.3()(64bit)
     You could try using --skip-broken to work around the problem
     You could try running: rpm -Va --nofiles --nodigest
    # Requires: libiksemel.so.3()(64bit)依赖错误的解决
    wget http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64//iksemel-1.4-6.sdl7.x86_64.rpm
    yum install  iksemel-1.4-6.sdl7.x86_64.rpm

    3、安装mysql

    # wget命令获得压缩包
    wget https://mirrors.cloud.tencent.com/mysql/downloads/MySQL-5.7/mysql-5.7.34-el7-x86_64.tar.gz 
    # 创建用户
    groupadd mysql
    useradd -g mysql mysql -d /home/mysql
    passwd mysql
    # 解压mysql安装包,位置/opt/app
    tar -xf  mysql-5.7.34-el7-x86_64.tar.gz 
    mv mysql-5.7.34-el7-x86_64 mysql
    chown -R mysql:mysql mysql/
    # 创建数据及log存放目录
    mkdir -p /opt/app/MYINSTANCES/3306/{logs,data} # /opt/app/MYINSTANCES目录下可以放多个实例目录
                                   # 实例子目录以实例启用端口做区别
                                   # logs目录存放实例相关日志
                                   # data目录存放实例数据文件
    # 创建存放mysql.sock的目录,这个其实也可以创建在/opt/app/MYINSTANCES/3306目录下,只不过在部署好zabbix server后,页面配置数据库时mysql.sock不在此位置出现了报错
    mkdir /var/lib/mysql
    # 授权
    chown -R mysql:mysql /opt/app/MYINSTANCES
    chown -R mysql:mysql /var/lib/mysql
    # 初始化实例
    mysqld --initialize-insecure  # 非安全初始化, 初始化后MySQL的root可无密码登录, 之后需求手动修改
    --datadir=/opt/app/MYINSTANCES/3306/data # 实例数据目录
    --basedir=/opt/app/mysql # mysql软件目录
    --user=mysql # 运行实例账户
    # 配置实例
    vi /opt/app/MYINSTANCES/3306/my.cnf
    
    [client]
    port = 3306
    #socket = /opt/app/MYINSTANCES/3306/tmp/mysql.sock
    socket=/var/lib/mysql/mysql.sock 
    [mysqld]
    character_set_server=utf8
    init_connect='SET NAMES utf8'
    basedir=/opt/app/mysql
    datadir=/opt/app/MYINSTANCES/3306/data
    #socket=/opt/app/MYINSTANCES/3306/tmp/mysql.sock
    socket=/var/lib/mysql/mysql.sock
    log-error=/opt/app/MYINSTANCES/3306/logs/mysqld.log
    pid-file=/opt/app/MYINSTANCES/3306/tmp/mysqld.pid
    # 不区分大小写
    lower_case_table_names = 1
    sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    max_connections=5000
    default-time_zone = '+8:00'
    # 启动实例
    mysqld_safe  --defaults-file=/opt/app/MYINSTANCES/3306/my.cnf > /opt/app/MYINSTANCES/3306/logs/sys.log 2>&1 &
    # 修改root密码
    mysql -S /var/lib/mysql/mysql.sock -uroot
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'XXXX';
    # 创建zabbix库
    create database zabbix;

    4、初始化sql脚本

    安装zabbix--server-mysql zabbix-get后输命令rpm -ql zabbix--server-mysql,可以找到sql脚本存放位置/usr/share/doc/zabbix-server-mysql-3.0.32,解压获取

     执行命令

    mysql -S /var/lib/mysql/mysql.sock -uroot -p -Dzabbix < /usr/share/doc/zabbix-server-mysql-3.0.32/create.sql

    登入mysql查看

    mysql -uroot -p
    use zabbix;
    show tables;

     5、配置zabbix server端并启动

    vim /etc/zabbix/zabbix_server.conf
    此处列出我们可能会经常修改的参数,如下:
    
    ListenPort=10051
    
    #服务端监听的端口,保持默认即可
    
    SourceIP=
    
    #通过SourceIP参数可以指定服务端的源IP,当server端有多个IP地址时,我们可以指定服务端使用固定的IP与agent端进行通讯,为了安全起见,agent端会基于IP进行一定的访问控制,也就是说agent端只允许指定的IP以server端的身份采集被监控主机的数据,如果IP不对应,则不允许采集被监控主机的数据,所以,当server端有多个IP时,我们可以通过SourceIP参数,指定server端通过哪个IP采集被监控主机的数据。
    
    LogType=file
    
    #通过LogType参数,可以指定通过哪种方式记录日志,此参数可以设置为三种值,system、file、console,system表示将日志发往syslog,file表示使用指定的文件作为日志文件,console表示将日志发往控制台,默认为file。
    
    LogFile=/var/log/zabbix/zabbix_server.log
    
    #当LogType设置为file时,通过LogFile参数设置日志文件位置。
    
    LogFileSize=0
    
    #指明日志文件达到多大时自动滚动,单位为MB,如果设置LogFileSize为50,表示日志大小达到50MB滚动一次,设置为0表示日志文件不会滚动,所有日志保存在一个文件中。
    
    DebugLevel=3
    
    #通过DebugLevel参数可以定义日志的详细程度,即为日志级别。
    
    DBHost=localhost
    
    #通过DBHost参数设置zabbix数据库所在的服务器IP,由于此处zabbix与mysql安装在同一服务器上,所以此处设置为localhost
    
    DBName=zabbix
    
    #通过DBName指定zabbix数据库对应的名称
    
    DBUser=root
    
    #通过DBUser指定zabbix数据库用户名
    
    DBPassword=123456
    
    #通过DBPassword指定zabbix数据库用户的密码
    
    DBPort=3306
    
    #通过DBPort指定zabbix所在数据库服务监听的端口号
    
    DBSocket=/var/lib/mysql/mysql.sock
    
    #如果数据库服务与server端在同一台服务器上,可以通过DBSocket指定数据库本地套接字文件位置,但是需要注意,即使设置了mysql套接字文件的位置,还是需要配合DBHost参数,否则在登录zabbix控制台时,可能会出现警告,在zabbix server的log中,也可能会出现无法连接到数据库的提示。
    
    # 启动
    systemctl start zabbix-server.service

     6、安装zabbix web

    yum install zabbix-web zabbix-web-mysql
    # zabbix web可以安装在单独的主机上,只要能连接到zabbix database所在的数据库即可,但是此处为了方便,我们将zabbix web与 mysql以及 zabbix server安装在同一台服务器上。因为zabbix web需要lamp环境,所以,此处我们将会依赖到的环境先安装好。
    yum install zabbix-web zabbix-web-mysql
    # zabbix还是比较贴心的,针对httpd,zabbix-web包中已经包含了对应zabbix文档路径的配置文件。针对zabbix web的文档路径,此文件中已经为我们准备好了默认配置,如果不使用httpd的虚拟主机,只要将时区稍加改动即可直接使用。
    <VirtualHost *:80>
            DocumentRoot /usr/share/zabbix
            Alias /zabbix /usr/share/zabbix
    
            <Directory "/usr/share/zabbix">
                    Options FollowSymLinks
                    AllowOverride None
                    Require all granted
    
                    <IfModule mod_php5.c>
                            php_value max_execution_time 300
                            php_value memory_limit 128M
                            php_value post_max_size 16M
                            php_value upload_max_filesize 2M
                            php_value max_input_time 300
                            php_value max_input_vars 10000
                            php_value always_populate_raw_post_data -1
                            php_value date.timezone Asia/Shanghai
                    </IfModule>
            </Directory>
    
            <Directory "/usr/share/zabbix/conf">
                    Require all denied
            </Directory>
    
            <Directory "/usr/share/zabbix/app">
                    Require all denied
            </Directory>
    
            <Directory "/usr/share/zabbix/include">
                    Require all denied
            </Directory>
                    <Directory "/usr/share/zabbix/local">
                    Require all denied
            </Directory>
    </VirtualHost>
    
    # 启动httpd
    systemctl start httpd

    访问http://ip:80/zabbix
    点击Next step要配置下mysql,server。。。配置完成后没问题则会到这个页面

     接下来配置mysql,配置server都没问题后跳转到下面的界面

     点击Finsh转到登录页面,默认账号Admin,密码zabbix,成功后进入zabbix首页

     更改成中文显示

    【参考:https://www.zsythink.net/archives/500】

  • 相关阅读:
    多态的理解
    成员变量与实例变量&成员方法与构造方法&构造代码块和静态代码块&静态与非静态&重写与重载的区别
    Java的基本数据类型和基本数据类型之间的转换
    如何使float精确两位小数或多位小数
    Servlet程序的生命周期
    配置axios全局拦截器
    SpringCloud-Sentinel实现服务限流、熔断、降级,整合Nacos实现持久化
    Nginx+Lua OpenResty环境搭建
    Java-线程池面试题
    Rabbitmq死信队列
  • 原文地址:https://www.cnblogs.com/sxFu/p/15495235.html
Copyright © 2011-2022 走看看