[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EGPSCZY97YV93FVG4D12K0":3,"skill-same:01M6EGPSCZY97YV93FVG4D12K0":45},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":18,"linkOnly":19,"markdownContent":20,"markdownBody":20,"frontMatter":21,"refName":22,"commitSha":23,"skillDirectory":24,"forksCount":25,"repositoryHtmlUrl":26,"repositoryHomepageUrl":27,"ownerHtmlUrl":28,"ownerBlogUrl":6,"ownerDescription":29,"updatedAt":30,"install":31,"resources":44},"01M6EGPSCZY97YV93FVG4D12K0","zabbix",null,"ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",66,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002FTerminalSkills\u002Fskills\u002Fzabbix\u002FSKILL.md",[],[5],"2026-11-10 10:12:30",false,"# Zabbix\n\n## Overview\n\nSet up Zabbix for enterprise monitoring with host configuration, templates, trigger expressions, low-level discovery, and API automation. Covers server deployment, agent setup, and dashboard creation.\n\n## Instructions\n\n### Task A: Deploy Zabbix Server\n\n```yaml\n# docker-compose.yml — Zabbix server with PostgreSQL and web frontend\nservices:\n  zabbix-server:\n    image: zabbix\u002Fzabbix-server-pgsql:6.4-ubuntu-latest\n    environment:\n      - DB_SERVER_HOST=postgres\n      - POSTGRES_USER=zabbix\n      - POSTGRES_PASSWORD=zabbix_password\n      - POSTGRES_DB=zabbix\n      - ZBX_CACHESIZE=128M\n      - ZBX_HISTORYCACHESIZE=64M\n      - ZBX_TRENDCACHESIZE=32M\n    ports:\n      - \"10051:10051\"\n    depends_on:\n      - postgres\n\n  zabbix-web:\n    image: zabbix\u002Fzabbix-web-nginx-pgsql:6.4-ubuntu-latest\n    environment:\n      - DB_SERVER_HOST=postgres\n      - POSTGRES_USER=zabbix\n      - POSTGRES_PASSWORD=zabbix_password\n      - POSTGRES_DB=zabbix\n      - ZBX_SERVER_HOST=zabbix-server\n      - PHP_TZ=America\u002FNew_York\n    ports:\n      - \"8080:8080\"\n\n  postgres:\n    image: postgres:16-alpine\n    environment:\n      - POSTGRES_USER=zabbix\n      - POSTGRES_PASSWORD=zabbix_password\n      - POSTGRES_DB=zabbix\n    volumes:\n      - pg_data:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata\n\nvolumes:\n  pg_data:\n```\n\n### Task B: Install and Configure Zabbix Agent 2\n\n```bash\n# Install Zabbix Agent 2 on Ubuntu\nwget https:\u002F\u002Frepo.zabbix.com\u002Fzabbix\u002F6.4\u002Fubuntu\u002Fpool\u002Fmain\u002Fz\u002Fzabbix-release\u002Fzabbix-release_6.4-1+ubuntu22.04_all.deb\nsudo dpkg -i zabbix-release_6.4-1+ubuntu22.04_all.deb\nsudo apt-get update\nsudo apt-get install -y zabbix-agent2 zabbix-agent2-plugin-*\n```\n\n```ini\n# \u002Fetc\u002Fzabbix\u002Fzabbix_agent2.conf — Agent 2 configuration\nServer=192.168.1.5\nServerActive=192.168.1.5\nHostname=web-01.production\nHostMetadata=linux:web:production:ubuntu\nListenPort=10050\nTimeout=10\n\nPlugins.SystemRun.LogRemoteCommands=1\n\n# Enable PostgreSQL monitoring plugin\nPlugins.PostgreSQL.Sessions.mydb.Uri=tcp:\u002F\u002Flocalhost:5432\nPlugins.PostgreSQL.Sessions.mydb.User=zbx_monitor\nPlugins.PostgreSQL.Sessions.mydb.Password=monitor_password\n```\n\n### Task C: Create Custom Templates via API\n\n```bash\n# Authenticate and get token\nAUTH_TOKEN=$(curl -s \"http:\u002F\u002Flocalhost:8080\u002Fapi_jsonrpc.php\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"jsonrpc\": \"2.0\",\n    \"method\": \"user.login\",\n    \"params\": { \"username\": \"Admin\", \"password\": \"zabbix\" },\n    \"id\": 1\n  }' | jq -r '.result')\n```\n\n```bash\n# Create a custom template\ncurl -s \"http:\u002F\u002Flocalhost:8080\u002Fapi_jsonrpc.php\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d \"{\n    \\\"jsonrpc\\\": \\\"2.0\\\",\n    \\\"method\\\": \\\"template.create\\\",\n    \\\"params\\\": {\n      \\\"host\\\": \\\"Custom Web Application\\\",\n      \\\"groups\\\": [{ \\\"groupid\\\": \\\"1\\\" }],\n      \\\"description\\\": \\\"Monitors web application health, response times, and error rates\\\"\n    },\n    \\\"auth\\\": \\\"${AUTH_TOKEN}\\\",\n    \\\"id\\\": 2\n  }\"\n```\n\n```bash\n# Create items (metrics) on the template\ncurl -s \"http:\u002F\u002Flocalhost:8080\u002Fapi_jsonrpc.php\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d \"{\n    \\\"jsonrpc\\\": \\\"2.0\\\",\n    \\\"method\\\": \\\"item.create\\\",\n    \\\"params\\\": [\n      {\n        \\\"name\\\": \\\"HTTP response time\\\",\n        \\\"key_\\\": \\\"web.page.perf[https:\u002F\u002Fapp.example.com,,,443]\\\",\n        \\\"hostid\\\": \\\"TEMPLATE_ID\\\",\n        \\\"type\\\": 0,\n        \\\"value_type\\\": 0,\n        \\\"delay\\\": \\\"60s\\\",\n        \\\"units\\\": \\\"s\\\",\n        \\\"description\\\": \\\"Response time of the main application page\\\"\n      },\n      {\n        \\\"name\\\": \\\"HTTP status code\\\",\n        \\\"key_\\\": \\\"web.page.get[https:\u002F\u002Fapp.example.com,,,443]\\\",\n        \\\"hostid\\\": \\\"TEMPLATE_ID\\\",\n        \\\"type\\\": 0,\n        \\\"value_type\\\": 3,\n        \\\"delay\\\": \\\"60s\\\",\n        \\\"preprocessing\\\": [\n          { \\\"type\\\": \\\"REGEX\\\", \\\"params\\\": \\\"HTTP\u002F[0-9.]+ ([0-9]+)\\\\n\\\\\\\\1\\\" }\n        ]\n      }\n    ],\n    \\\"auth\\\": \\\"${AUTH_TOKEN}\\\",\n    \\\"id\\\": 3\n  }\"\n```\n\n### Task D: Define Triggers\n\n```bash\n# Create trigger expressions via API\ncurl -s \"http:\u002F\u002Flocalhost:8080\u002Fapi_jsonrpc.php\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d \"{\n    \\\"jsonrpc\\\": \\\"2.0\\\",\n    \\\"method\\\": \\\"trigger.create\\\",\n    \\\"params\\\": [\n      {\n        \\\"description\\\": \\\"High CPU usage on {HOST.NAME}\\\",\n        \\\"expression\\\": \\\"avg(\u002FCustom Web Application\u002Fsystem.cpu.util,5m)>85\\\",\n        \\\"recovery_expression\\\": \\\"avg(\u002FCustom Web Application\u002Fsystem.cpu.util,5m)\u003C70\\\",\n        \\\"priority\\\": 4,\n        \\\"manual_close\\\": 1,\n        \\\"tags\\\": [\n          { \\\"tag\\\": \\\"scope\\\", \\\"value\\\": \\\"performance\\\" },\n          { \\\"tag\\\": \\\"service\\\", \\\"value\\\": \\\"web\\\" }\n        ]\n      },\n      {\n        \\\"description\\\": \\\"Disk space critically low on {HOST.NAME}\\\",\n        \\\"expression\\\": \\\"last(\u002FCustom Web Application\u002Fvfs.fs.size[\u002F,pfree])\u003C10\\\",\n        \\\"priority\\\": 5,\n        \\\"tags\\\": [\n          { \\\"tag\\\": \\\"scope\\\", \\\"value\\\": \\\"capacity\\\" }\n        ]\n      },\n      {\n        \\\"description\\\": \\\"HTTP response time too high on {HOST.NAME}\\\",\n        \\\"expression\\\": \\\"avg(\u002FCustom Web Application\u002Fweb.page.perf[https:\u002F\u002Fapp.example.com,,,443],5m)>3\\\",\n        \\\"priority\\\": 3,\n        \\\"tags\\\": [\n          { \\\"tag\\\": \\\"scope\\\", \\\"value\\\": \\\"availability\\\" }\n        ]\n      }\n    ],\n    \\\"auth\\\": \\\"${AUTH_TOKEN}\\\",\n    \\\"id\\\": 4\n  }\"\n```\n\n### Task E: Low-Level Discovery\n\n```bash\n# Create a discovery rule for Docker containers\ncurl -s \"http:\u002F\u002Flocalhost:8080\u002Fapi_jsonrpc.php\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d \"{\n    \\\"jsonrpc\\\": \\\"2.0\\\",\n    \\\"method\\\": \\\"discoveryrule.create\\\",\n    \\\"params\\\": {\n      \\\"name\\\": \\\"Docker container discovery\\\",\n      \\\"key_\\\": \\\"docker.containers.discovery[true]\\\",\n      \\\"hostid\\\": \\\"TEMPLATE_ID\\\",\n      \\\"type\\\": 0,\n      \\\"delay\\\": \\\"5m\\\",\n      \\\"lifetime\\\": \\\"7d\\\"\n    },\n    \\\"auth\\\": \\\"${AUTH_TOKEN}\\\",\n    \\\"id\\\": 5\n  }\"\n```\n\n```bash\n# Create item prototypes for discovered containers\ncurl -s \"http:\u002F\u002Flocalhost:8080\u002Fapi_jsonrpc.php\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d \"{\n    \\\"jsonrpc\\\": \\\"2.0\\\",\n    \\\"method\\\": \\\"itemprototype.create\\\",\n    \\\"params\\\": {\n      \\\"name\\\": \\\"Container {#NAME}: CPU usage\\\",\n      \\\"key_\\\": \\\"docker.container_info[{#NAME},cpu_percent]\\\",\n      \\\"hostid\\\": \\\"TEMPLATE_ID\\\",\n      \\\"ruleid\\\": \\\"DISCOVERY_RULE_ID\\\",\n      \\\"type\\\": 0,\n      \\\"value_type\\\": 0,\n      \\\"delay\\\": \\\"30s\\\",\n      \\\"units\\\": \\\"%\\\"\n    },\n    \\\"auth\\\": \\\"${AUTH_TOKEN}\\\",\n    \\\"id\\\": 6\n  }\"\n```\n\n### Task F: Auto-Registration\n\n```bash\n# Configure auto-registration action via API\ncurl -s \"http:\u002F\u002Flocalhost:8080\u002Fapi_jsonrpc.php\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d \"{\n    \\\"jsonrpc\\\": \\\"2.0\\\",\n    \\\"method\\\": \\\"action.create\\\",\n    \\\"params\\\": {\n      \\\"name\\\": \\\"Auto-register Linux web servers\\\",\n      \\\"eventsource\\\": 2,\n      \\\"filter\\\": {\n        \\\"evaltype\\\": 0,\n        \\\"conditions\\\": [\n          { \\\"conditiontype\\\": 24, \\\"value\\\": \\\"linux:web:production\\\" }\n        ]\n      },\n      \\\"operations\\\": [\n        { \\\"operationtype\\\": 2 },\n        { \\\"operationtype\\\": 4, \\\"opgroup\\\": [{ \\\"groupid\\\": \\\"WEB_GROUP_ID\\\" }] },\n        { \\\"operationtype\\\": 6, \\\"optemplate\\\": [{ \\\"templateid\\\": \\\"TEMPLATE_ID\\\" }] }\n      ]\n    },\n    \\\"auth\\\": \\\"${AUTH_TOKEN}\\\",\n    \\\"id\\\": 7\n  }\"\n```\n\n## Best Practices\n\n- Use Zabbix Agent 2 (Go-based) over legacy Agent for better plugin support and performance\n- Leverage templates to standardize monitoring — apply templates to host groups, not individual hosts\n- Use `HostMetadata` in agent config for automatic registration and template linking\n- Set recovery expressions on triggers to prevent flapping between OK and PROBLEM states\n- Use low-level discovery for dynamic infrastructure (containers, disks, network interfaces)\n- Tag triggers and hosts for organized alerting and dashboard filtering\n",{},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002FTerminalSkills\u002Fskills\u002Fzabbix",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":7,"skillName":5,"commands":32,"prompt":42,"zipAvailable":43},[33,36,39],{"tool":34,"command":35},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill zabbix",{"tool":37,"command":38},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill zabbix",{"tool":40,"command":41},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill zabbix","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002FTerminalSkills\u002Fskills\u002Fzabbix\u002FSKILL.md",true,[],[46,60,70,79,85,92],{"skillNo":47,"name":48,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":49,"categories":50,"keywords":56,"publishedAt":18},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[51],{"categoryNo":52,"categoryName":53,"taxonomyType":54,"taxonomyTypeDesc":55},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[57,58,59],"model","model hierarchy","model hierarchy skill",{"skillNo":61,"name":62,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":63,"categories":64,"keywords":66,"publishedAt":18},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[65],{"categoryNo":52,"categoryName":53,"taxonomyType":54,"taxonomyTypeDesc":55},[67,68,69],"MCP","zoom","zoom mcp",{"skillNo":71,"name":72,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":18},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[76,77,78,68],"sdk","zoom apps sdk","apps",{"skillNo":80,"name":81,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":18},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[81],{"skillNo":86,"name":87,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":91,"publishedAt":18},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[90],{"categoryNo":52,"categoryName":53,"taxonomyType":54,"taxonomyTypeDesc":55},[87],{"skillNo":93,"name":94,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":97,"publishedAt":18},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[94]]