Size: a a a

2020 May 12

ВИ

Вадим Исаканов... in Sysadminka
В доках к плагинам и скриптам, которые позволяют из монги вытащить данные в понятном Заббиксу виде, должно быть указано, с какой версией монги они умеют работать
источник

ВИ

Вадим Исаканов... in Sysadminka
Попробуй с версией 3.6 запустить (или даже 3.2)
источник

R

Roman in Sysadminka
Вадим Исаканов
Попробуй с версией 3.6 запустить (или даже 3.2)
скрипты не работают
./zabbix-mongodb.py
Traceback (most recent call last):
 File "./zabbix-mongodb.py", line 243, in <module>
   mongodb.get_db_names()
 File "./zabbix-mongodb.py", line 78, in get_db_names
   db_names = self.__conn.database_names()
 File "/home/rermolaev/.local/lib/python2.7/site-packages/pymongo/mongo_client.py", line 1927, in database_names
   return self.list_database_names(session)
 File "/home/rermolaev/.local/lib/python2.7/site-packages/pymongo/mongo_client.py", line 1909, in list_database_names
   for doc in self.list_databases(session, nameOnly=True)]
 File "/home/rermolaev/.local/lib/python2.7/site-packages/pymongo/mongo_client.py", line 1890, in list_databases
   res = admin._retryable_read_command(cmd, session=session)
 File "/home/rermolaev/.local/lib/python2.7/site-packages/pymongo/database.py", line 749, in _retryable_read_command
   _cmd, read_preference, session)
 File "/home/rermolaev/.local/lib/python2.7/site-packages/pymongo/mongo_client.py", line 1464, in _retryable_read
   return func(session, server, sock_info, slave_ok)
 File "/home/rermolaev/.local/lib/python2.7/site-packages/pymongo/database.py", line 746, in _cmd
   codec_options, session=session, **kwargs)
 File "/home/rermolaev/.local/lib/python2.7/site-packages/pymongo/database.py", line 630, in _command
   client=self.__client)
 File "/home/rermolaev/.local/lib/python2.7/site-packages/pymongo/pool.py", line 613, in command
   user_fields=user_fields)
 File "/home/rermolaev/.local/lib/python2.7/site-packages/pymongo/network.py", line 167, in command
   parse_write_concern_error=parse_write_concern_error)
 File "/home/rermolaev/.local/lib/python2.7/site-packages/pymongo/helpers.py", line 159, in _check_command_response
   raise OperationFailure(msg % errmsg, code, response)
pymongo.errors.OperationFailure: command listDatabases requires authentication
версию монги поменять я не могу
источник

ВИ

Вадим Исаканов... in Sysadminka
OperationFailure: command listDatabases requires authentication
ну вот же ошибка
смотри код скрипта, правь
источник

ВИ

Вадим Исаканов... in Sysadminka
Там нужно давать заббикс-агенту и его скриптам доступ внутрь монги, посмотри, где задаются данные для доступа
Мб нужно сделать отдельного юзера в монге под мониторинг, емнип, такое практикуется
Но проверь, что эти скрипты-плагины будут работать с текущей версией монги, или будешь учиться править эти скрипты, чтобы они таки работали с ней
источник

R

Roman in Sysadminka
вписал пользователя но далеко не ушел
zabbix-mongodb.py
Traceback (most recent call last):
 File "/usr/local/bin/zabbix-mongodb.py", line 247, in <module>
   mongodb.get_server_status_metrics()
 File "/usr/local/bin/zabbix-mongodb.py", line 185, in get_server_status_metrics
   self.add_metrics('mongodb.memory.' + k, ss['mem'][k])
KeyError: 'mapped'
источник

R

Roman in Sysadminka
> https://kamaok.org.ua/?p=2803    vot etu posmotrite mojet pomojet vam
вот это вроде другой подход, ковыряю
источник

R

Roman in Sysadminka
Nurmukhammad Kholmatov
https://kamaok.org.ua/?p=2803    vot etu posmotrite mojet pomojet vam
будет работать, если затык с правами придумаю как обойти
sudo -u zabbix /etc/zabbix/scripts/mongodb.sh net_in
awk: fatal: cannot open file `/tmp/zabbix.mongo.ebe0996d1a16aa8522ca92ba1f135767.cache' for reading (Permission denied)
монга от пользователя mongodb работат, а забикс от zabbix
источник

ВИ

Вадим Исаканов... in Sysadminka
Дай заббиксу права sudo root
можно какими-то определенными функциями обойтись, если найдешь, какие
Сча найду, как у меня это было раньше
Мб тут еще кто подскажет
источник

R

Roman in Sysadminka
как-то некошерно приложению давать права рута. думаю обойдусь sudo в скрипте
источник

ВИ

Вадим Исаканов... in Sysadminka
Ага, в моем случае были разрешены отдельные команды
cat /etc/sudoers.d/zabbix
Defaults:zabbix !requiretty
## Allows zabbix agent monitoring smart
zabbix ALL=(ALL) NOPASSWD: /usr/sbin/smartctl
zabbix ALL=(ALL) NOPASSWD: /usr/bin/psql
zabbix ALL=(ALL) NOPASSWD: /bin/cat /var/log/maillog
...
источник

ВИ

Вадим Исаканов... in Sysadminka
Тут видишь, тебе тогда скрипт нужно от рута запускать (или с привилегиями)
А если такой скрипт не один?
источник

ВИ

Вадим Исаканов... in Sysadminka
Проще иметь одно место, где ты все привилегии контролируешь (т.е. описание в /etc/sudoers*)
источник

NK

Nurmukhammad Kholmat... in Sysadminka
Вадим Исаканов
Тут видишь, тебе тогда скрипт нужно от рута запускать (или с привилегиями)
А если такой скрипт не один?
+
источник

R

Roman in Sysadminka
@vadimisakanov @NurmukhammadKholmatov спасибо за наводки - работает
источник

ВИ

Вадим Исаканов... in Sysadminka
Супер)
источник

NK

Nurmukhammad Kholmat... in Sysadminka
👍
источник

S

Slach in Sysadminka
Roman
скрипты не работают
./zabbix-mongodb.py
Traceback (most recent call last):
 File "./zabbix-mongodb.py", line 243, in <module>
   mongodb.get_db_names()
 File "./zabbix-mongodb.py", line 78, in get_db_names
   db_names = self.__conn.database_names()
 File "/home/rermolaev/.local/lib/python2.7/site-packages/pymongo/mongo_client.py", line 1927, in database_names
   return self.list_database_names(session)
 File "/home/rermolaev/.local/lib/python2.7/site-packages/pymongo/mongo_client.py", line 1909, in list_database_names
   for doc in self.list_databases(session, nameOnly=True)]
 File "/home/rermolaev/.local/lib/python2.7/site-packages/pymongo/mongo_client.py", line 1890, in list_databases
   res = admin._retryable_read_command(cmd, session=session)
 File "/home/rermolaev/.local/lib/python2.7/site-packages/pymongo/database.py", line 749, in _retryable_read_command
   _cmd, read_preference, session)
 File "/home/rermolaev/.local/lib/python2.7/site-packages/pymongo/mongo_client.py", line 1464, in _retryable_read
   return func(session, server, sock_info, slave_ok)
 File "/home/rermolaev/.local/lib/python2.7/site-packages/pymongo/database.py", line 746, in _cmd
   codec_options, session=session, **kwargs)
 File "/home/rermolaev/.local/lib/python2.7/site-packages/pymongo/database.py", line 630, in _command
   client=self.__client)
 File "/home/rermolaev/.local/lib/python2.7/site-packages/pymongo/pool.py", line 613, in command
   user_fields=user_fields)
 File "/home/rermolaev/.local/lib/python2.7/site-packages/pymongo/network.py", line 167, in command
   parse_write_concern_error=parse_write_concern_error)
 File "/home/rermolaev/.local/lib/python2.7/site-packages/pymongo/helpers.py", line 159, in _check_command_response
   raise OperationFailure(msg % errmsg, code, response)
pymongo.errors.OperationFailure: command listDatabases requires authentication
версию монги поменять я не могу
ну вам где то там авторизацию надо добавить, скрипт не факт вообще что рабочий
источник

R

Roman in Sysadminka
выше люди посоветовали использовать sudo. Прикрутил, работает.
источник

NK

Nurmukhammad Kholmat... in Sysadminka
Zabbix 5.0 LTS, новый релиз open source решения для мониторинга.
источник