13 Outros problemas
Login e systemd
Recomendamos criar um usuário zabbix como usuário de sistema, ou seja, sem capacidade de fazer login. Alguns usuários ignoram essa recomendação e usam a mesma conta para fazer login (por exemplo, usando SSH) no host que executa o Zabbix. Isso pode causar a falha do daemon do Zabbix ao sair da sessão. Nesse caso, você verá algo como o seguinte no log do server do Zabbix:
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 agent do Zabbix:
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ê sai do 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 do System V e do POSIX pertencentes ao usuário devem ser removidos quando o
usuário fizer logout completo. Aceita um argumento booleano. Se estiver habilitado, o usuário não poderá consumir recursos IPC
após o término da última sessão do usuário. Isso inclui semáforos do System V, memória compartilhada
e filas de mensagens, bem como memória compartilhada e filas de mensagens do POSIX. Observe que os objetos IPC do
usuário root e de outros usuários de sistema são excluídos do efeito dessa configuração. O valor padrão é "yes".
Há 2 soluções para esse problema:
- (recomendado) Pare de usar a conta zabbix para qualquer coisa além dos processos do Zabbix; crie uma conta dedicada para outras tarefas.
- (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 do Zabbix atrás de um proxy
Se o frontend do Zabbix estiver sendo executado atrás de um servidor proxy, o caminho do cookie no arquivo de configuração do proxy precisa ser reescrito para corresponder ao caminho do proxy reverso. Veja exemplos abaixo. Se o caminho do cookie não for reescrito, os usuários podem enfrentar problemas de autorização ao tentar fazer login no frontend do Zabbix.
Exemplo de configuração para nginx
# ..
location / {
# ..
proxy_cookie_path /zabbix /;
proxy_pass http://192.168.0.94/zabbix/;
# ..
Exemplo de configuração para Apache
# ..
ProxyPass "/" http://host/zabbix/
ProxyPassReverse "/" http://host/zabbix/
ProxyPassReverseCookiePath /zabbix /
ProxyPassReverseCookieDomain host zabbix.example.com
# ..