{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Skurudo Blog(post): заметки с тегом Zabbix",
    "_rss_description": "Zabbix — свободная система мониторинга и отслеживания статусов разнообразных сервисов компьютерной сети, серверов и сетевого оборудования, написанная Алексеем Владышевым",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/skurudo.ru\/tags\/zabbix\/",
    "feed_url": "https:\/\/skurudo.ru\/tags\/zabbix\/json\/",
    "icon": "https:\/\/skurudo.ru\/pictures\/userpic\/userpic@2x.jpg?1691593083",
    "authors": [
        {
            "name": "Pavel Galkin",
            "url": "https:\/\/skurudo.ru\/",
            "avatar": "https:\/\/skurudo.ru\/pictures\/userpic\/userpic@2x.jpg?1691593083"
        }
    ],
    "items": [
        {
            "id": "230",
            "url": "https:\/\/skurudo.ru\/all\/yaszait-yet-another-simple-zabbix-agent-installer-tool\/",
            "title": "YASZAIT — Yet Another Simple Zabbix Agent Installer Tool",
            "content_html": "<p>Понадобилось на несколько разных серверов на Debian\/Ubuntu поставить агент Zabbix, чтобы подключить их к мониторингу. Вместо того, чтобы ставить совсем все руками, немного автоматизировал процесс и добавил интерактива и в конце немного покажет адреса, чтобы удобно добавить в inventory. Скрипт спрашивает ровно три вещи:<\/p>\n<ol start=\"1\">\n<li>хостнейм сервера — можно прощелкать, укажет автоматически<\/li>\n<li>адрес Zabbix сервера — указывать обязательно<\/li>\n<li>порт — можно прощелка, укажет стандартный 10050<\/li>\n<\/ol>\n<p>Для запуска скрипта:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">bash &lt;(wget -O - https:\/\/raw.githubusercontent.com\/skurudo\/usefulbash\/main\/zabbix-add-agent-on-debian.sh)<\/code><\/pre><p>Код приведен ниже и также доступен на <a href=\"https:\/\/github.com\/skurudo\/usefulbash\/blob\/main\/zabbix-add-agent-on-debian.sh\">Github<\/a>:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">#!\/bin\/bash\r\n# YASZAIT\r\n# Yet Another Simple Zabbix Agent Installer Tool\r\n##############################################################\r\n# enter some data to start\r\necho -n &quot;Enter this server name: &quot;\r\nread SRV_HOSTNAME\r\n# if SRV_HOSTNAME is empty, use server hostname\r\nif [ -z &quot;$SRV_HOSTNAME&quot; ]; then\r\n        SRV_HOSTNAME=($(hostname -f))\r\nfi\r\necho -n &quot;Enter Zabbix Server (FQDN or IP): &quot;\r\nread ZABBIX_SERVER\r\n# if ZABBIX_SERVER is empty, try again\r\nif [ -z &quot;$ZABBIX_SERVER&quot; ]; then\r\n    echo -n &quot;=&gt; Please enter address of your Zabbix server... [example.org or IP]: &quot;\r\n        read -r ZABBIX_SERVER\r\nfi\r\necho -n &quot;Listening port (10050): &quot;\r\nread LISTEN_PORT\r\n# if LISTEN_PORT is empty, set it to 10050\r\nif [ -z &quot;$LISTEN_PORT&quot; ]; then\r\n    LISTEN_PORT=10050\r\nfi\r\n\r\n# Zabbix agent simple installation\r\napt-get install zabbix-agent\r\n# change configuration file\r\ncat &gt; \/etc\/zabbix\/zabbix_agentd.conf &lt;&lt; EOF\r\n# simple core config file\r\n#\r\n# address of the server\r\nServer=$ZABBIX_SERVER\r\nServerActive=$ZABBIX_SERVER\r\n# port for Zabbix\r\nListenPort=$LISTEN_PORT\r\n# hostname \r\nHostname=$SRV_HOSTNAME\r\n#Hostname=$(hostname -f)\r\n# pid and logs\r\nPidFile=\/var\/run\/zabbix\/zabbix_agentd.pid\r\nLogFile=\/var\/log\/zabbix-agent\/zabbix_agentd.log\r\nLogFileSize=0\r\nEOF\r\n# restart the zabbix agent\r\nservice zabbix-agent restart \r\n# check agent status\r\nservice zabbix-agent status\r\n# show a little ip4 addresses for Zabbix server\r\necho &quot;######################################&quot;\r\necho &quot;# Information about IP addresses #####&quot;\r\necho &quot;######################################&quot;\r\necho &quot;Server ipv4 addresses:&quot;\r\nip addr show | grep &quot;inet &quot;<\/code><\/pre><p>Сейчас пока задач по доработкам нет — свои задачи скрипт выполнил, но некоторые мысли есть...<\/p>\n<ul>\n<li>* сейчас скрипт не проверяет OS и отработает только под Debian-подобной системой (поскольку CentOS и других под рукой уже нет — дописывать и проверять сложно, пока отложено);<\/li>\n<li>* скрипт не проверяет установлен ли сейчас какой-то агент, он просто перезапишет конфиг (не очень ясно, насколько это востребованная история);<\/li>\n<li>* скрипт не проверяет занятость порта (отсылка к предыдущему пункту по сути);<\/li>\n<li>* скрипт не использует сертификаты или PKI (при наличии задачи возможно стоило бы использовать);<\/li>\n<li>* при однородности серверов мониторинга можно было бы наверное использовать фиксированные значения или давать выбор (здесь опущено для универсальности, серверы были разные);<\/li>\n<li>* возможно стоило бы подумать и усложнить конфигурационный файл агента (стоит обдумать опции на досуге);<\/li>\n<\/ul>\n",
            "date_published": "2021-05-21T10:14:45+03:00",
            "date_modified": "2021-05-21T15:05:38+03:00",
            "tags": [
                "bash",
                "Debian",
                "Ubuntu",
                "Zabbix",
                "скрипт"
            ],
            "_date_published_rfc2822": "Fri, 21 May 2021 10:14:45 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "230",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css"
                ],
                "og_images": []
            }
        }
    ],
    "_e2_version": 4116,
    "_e2_ua_string": "Aegea 11.2 (v4116)"
}