美文网首页
zabbix-agent 使用普通用户来运行

zabbix-agent 使用普通用户来运行

作者: super_pcm | 来源:发表于2021-10-27 09:15 被阅读0次

    1. 背景

    使用yum来安装的 zabbix-agent 默认使用zabbix运行,通常情况下这没有什么问题。近期我们有个需求,我们希望通过zabbix来监控java进程中jvm的信息。对jvm的监控我们通常使用jstat命令,这要求使用该命令的用户和java进程启动的用户为同一用户。
    由于我们的java进程都是使用app用户来启动的,也就是说如果我们要使用zabbix来调用jstat命令,那么zabbix也需要使用app用户来启动。

    以下方法是在3.4.15的版本下配置验证的,其他版本不确保配置方法一样。
    zabbix-proxy的配置方法可以参考zabbix-agent

    2. 实现方法

    实现的方法比较简单,就是修改zabbix-agent相关的配置文件,如果已经启动过的,那么还需要修改对应的目录属主。

    使用rpm命令我们查看下安装zabbix-agent会在创建那些目录并且生成什么样的配置文件。

    [root@quick-deploy ~]# rpm -qal zabbix-agent
    /etc/logrotate.d/zabbix-agent
    /etc/zabbix/zabbix_agentd.conf
    /etc/zabbix/zabbix_agentd.d
    /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
    /usr/lib/systemd/system/zabbix-agent.service
    /usr/lib/tmpfiles.d/zabbix-agent.conf
    /usr/sbin/zabbix_agentd
    /usr/share/doc/zabbix-agent-3.4.15
    /usr/share/doc/zabbix-agent-3.4.15/AUTHORS
    /usr/share/doc/zabbix-agent-3.4.15/COPYING
    /usr/share/doc/zabbix-agent-3.4.15/ChangeLog
    /usr/share/doc/zabbix-agent-3.4.15/NEWS
    /usr/share/doc/zabbix-agent-3.4.15/README
    /usr/share/man/man8/zabbix_agentd.8.gz
    /var/log/zabbix
    /var/run/zabbix
    

    从上面的结果我们可以知道需要修改哪些配置文件,咱们依次来修改。

    2.1 修改配置文件

    • /etc/logrotate.d/zabbix-agent
      该文件是用来进行日志轮询的,我们需要修改其配置文件,让其生成的轮询文件的属主为app,修改结果如下:
    /var/log/zabbix/zabbix_agentd.log {
            weekly
            rotate 12
            compress
            delaycompress
            missingok
            notifempty
            create 0664 app app
    }
    
    • /etc/zabbix/zabbix_agentd.conf
      该文件是zabbix默认的配置文件,这里我们需要指定启动的用户,只需要修改User配置就行了。
    #在User=zabbix新增一行即可
    # User=zabbix
    User=app
    
    • /usr/lib/tmpfiles.d/zabbix-agent.conf
      该文件是用来控制生成临时文件的规则的,如果不修改的话,服务器重启后会因为临时目录属主为zabbix从而导致由于目录权限问题造成zabbix-agent启动失败。修改结果如下:
    d /run/zabbix 0755 app app - -
    

    2.2 修改目录属主

    如果你的zabbix-agent在修改上述配置前已经启动过了,那么在修改配置后,在重启zabbix-agent前,你需要修改zabbix-agent的相关目录属主。

    chown -R app. /var/log/zabbix /var/run/zabbix
    

    做完以上修改,咱们的zabbix-agent就能使用app用户来启动了。

    相关文章

      网友评论

          本文标题:zabbix-agent 使用普通用户来运行

          本文链接:https://www.haomeiwen.com/subject/jkbualtx.html