14 Outros problemas
Login e systemd
Recomendamos a criação de um usuário zabbix como usuário do sistema, ou seja, sem capacidade de fazer login. Alguns usuários ignoram essa recomendação e usam a mesma conta para fazer login (por ex. usando SSH) no host que executa o Zabbix. Isso pode causar a falha do daemon do Zabbix ao encerrar a sessão. Nesse caso, você verá algo semelhante ao seguinte no log do Zabbix server:
zabbix_server [27730]: [file:'selfmon.c',line:375] lock failed: [22] Invalid argument
zabbix_server [27716]: [file:'dbconfig.c',line:5266] lock failed: [22] Invalid argument
zabbix_server [27706]: [file:'log.c',line:238] lock failed: [22] Invalid argument
e no log do Zabbix agent:
zabbix_agentd [27796]: [file:'log.c',line:238] lock failed: [22] Invalid argument
Isso acontece por causa da configuração padrão do systemd RemoveIPC=yes
definida em /etc/systemd/logind.conf. Quando você encerra a sessão no sistema,
os semáforos criados anteriormente pelo Zabbix são removidos, o que causa a
falha.
Uma citação da documentação do systemd:
RemoveIPC=
Controla se os objetos IPC System V e POSIX pertencentes ao usuário devem ser removidos quando o
usuário encerrar totalmente a sessão. Aceita um argumento booleano. Se habilitado, o usuário não poderá consumir recursos IPC
após o encerramento da última sessão do usuário. Isso abrange semáforos System V, memória compartilhada
e filas de mensagens, bem como memória compartilhada POSIX e filas de mensagens. Observe que os objetos IPC do
usuário root e de outros usuários do sistema estão excluídos do efeito dessa configuração. O padrão é "yes".
Há 2 soluções para esse problema:
- (recomendado) Pare de usar a conta zabbix para qualquer outra coisa além dos processos do Zabbix; crie uma conta dedicada para outras finalidades.
- (não recomendado) Defina
RemoveIPC=noem/etc/systemd/logind.confe reinicie o sistema. Observe queRemoveIPCé um parâmetro de todo o sistema; alterá-lo afetará o sistema inteiro.
Usando o frontend Zabbix por trás do proxy
Se o frontend do Zabbix for executado atrás do servidor proxy, o caminho do cookie no arquivo de configuração do proxy precisa ser reescrito para corresponder ao caminho com proxy reverso. Veja exemplos abaixo. Se o caminho do cookie não for reescrito, os usuários podem ter problemas de autorização ao tentar entre no frontend do Zabbix.
Configuração de exemplo para nginx
# ..
local / {
# ..
proxy_cookie_path /zabbix /;
proxy_pass http://192.168.0.94/zabbix/;
# ..
Configuração de exemplo para Apache
# ..
ProxyPass "/" http://host/zabbix/
ProxyPassReverse "/" http://host/zabbix/
ProxyPassReverseCookiePath /zabbix/
ProxyPassReverseCookieDomain host zabbix.example.com
# ..