{"id":28240101,"url":"https://github.com/classyid/geminiserverguard","last_synced_at":"2025-08-22T15:07:44.107Z","repository":{"id":288399104,"uuid":"967934371","full_name":"classyid/GeminiServerGuard","owner":"classyid","description":"Sistem monitoring server otomatis berbasis AI dengan Gemini dan Prometheus. Mendeteksi masalah, melakukan tindakan perbaikan, dan mengirim notifikasi Telegram secara real-time.","archived":false,"fork":false,"pushed_at":"2025-04-17T08:48:33.000Z","size":30,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-12T09:31:38.556Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/classyid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-17T08:26:58.000Z","updated_at":"2025-04-17T08:48:37.000Z","dependencies_parsed_at":"2025-04-17T23:47:11.391Z","dependency_job_id":"04254eaa-ae14-46d6-8090-efffdb55dec0","html_url":"https://github.com/classyid/GeminiServerGuard","commit_stats":null,"previous_names":["classyid/geminiserverguard"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/classyid/GeminiServerGuard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/classyid%2FGeminiServerGuard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/classyid%2FGeminiServerGuard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/classyid%2FGeminiServerGuard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/classyid%2FGeminiServerGuard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/classyid","download_url":"https://codeload.github.com/classyid/GeminiServerGuard/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/classyid%2FGeminiServerGuard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271657759,"owners_count":24797935,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-22T02:00:08.480Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-19T03:12:37.623Z","updated_at":"2025-08-22T15:07:44.078Z","avatar_url":"https://github.com/classyid.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GeminiServerGuard 🛡️🤖\n\n![Screenshoot](https://blog.classy.id/upload/gambar_berita/7a625a78a6058f7074406b7ba24e7644_20250417153117.jpg)\n\nGeminiServerGuard adalah sistem monitoring server otomatis yang menggunakan kecerdasan buatan Google Gemini untuk menganalisis metrik server, mendeteksi masalah, dan melakukan tindakan perbaikan secara otomatis. Sistem ini terintegrasi dengan Prometheus untuk pengumpulan metrik dan Telegram untuk notifikasi real-time.\n\n## ✨ Fitur\n\n- 📊 **Monitoring Metrik Utama**: CPU, memori, disk usage, load average, dan jaringan\n- 🧠 **Analisis AI**: Menggunakan Google Gemini untuk menganalisis dan mendiagnosis masalah server\n- 🛠️ **Tindakan Otomatis**: Pembersihan disk, restart layanan, dan identifikasi proses bermasalah\n- 📱 **Notifikasi Telegram**: Pemberitahuan real-time dengan informasi lengkap tentang masalah dan tindakan\n- 📝 **Pelaporan**: Menyimpan laporan analisis dan eksekusi untuk audit dan analisis historis\n- 🔍 **Identifikasi Cerdas**: Menghindari sistem kritis dan hanya melakukan tindakan pada layanan yang aman\n\n## 🔧 Instalasi\n\n### Prasyarat\n\n- Python 3.8+\n- Prometheus (dan Node Exporter)\n- Bot Telegram (untuk notifikasi)\n\n### Langkah Instalasi\n\n1. Kloning repositori ini:\n   ```bash\n   git clone https://github.com/classyid/GeminiServerGuard.git\n   cd GeminiServerGuard\n   ```\n\n2. Buat dan aktifkan virtual environment:\n   ```bash\n   python3 -m venv venv\n   source venv/bin/activate  # Di Windows: venv\\Scripts\\activate\n   ```\n\n3. Instal dependensi:\n   ```bash\n   pip install google-generativeai requests pyyaml ansible-runner\n   ```\n\n4. Install aplikasi tambahan:\n   ```bash\n   apt-get install ansible  \n   ```\n\n5. Jalankan untuk pertama kali:\n   ```bash\n   python3 server_automation.py\n   ```\n\n## ⚙️ Konfigurasi\n\nEdit file `config.yml` untuk menyesuaikan:\n\n- API key Google Gemini\n- URL Prometheus\n- Token dan chat ID Telegram\n- Layanan kritis yang tidak boleh di-restart\n- Threshold untuk tindakan otomatis\n- Jadwal ringkasan harian\n\n## 📊 Metrik yang Dipantau\n\n- **CPU Usage**: Penggunaan CPU dalam persentase\n- **Memory Usage**: Penggunaan memori dalam persentase\n- **Disk Usage**: Penggunaan disk dalam persentase\n- **Load Average**: Beban rata-rata sistem\n- **Network Traffic**: Lalu lintas jaringan masuk dan keluar\n\n## 🔔 Notifikasi Telegram\n\nNotifikasi yang dikirim melalui Telegram mencakup:\n\n- Status server (kritis, peringatan, sehat)\n- Analisis detail masalah yang terdeteksi\n- Tindakan otomatis yang telah diambil\n- Rekomendasi untuk administrator\n- Hostname dan alamat IP server\n\n## 🕒 Otomatisasi\n\nUntuk menjalankan pemantauan secara berkala, tambahkan ke crontab:\n\n```bash\n# Jalankan setiap 15 menit\n*/15 * * * * cd /path/to/GeminiServerGuard \u0026\u0026 ./venv/bin/python server_automation.py \u003e\u003e cron.log 2\u003e\u00261\n\n# Kirim laporan ringkasan harian pada jam 8 pagi\n0 8 * * * cd /path/to/GeminiServerGuard \u0026\u0026 ./venv/bin/python server_automation.py --daily-summary \u003e\u003e summary.log 2\u003e\u00261\n```\n\n## 🔐 Keamanan\n\nGeminiServerGuard dirancang dengan keamanan sebagai prioritas:\n\n- Tidak pernah me-restart layanan sistem kritis\n- Memvalidasi tindakan sebelum eksekusi\n- Hanya mengirimkan notifikasi ke chat ID Telegram yang ditentukan\n- Menyimpan log tindakan untuk audit\n\n## 📋 Lisensi\n\nProyek ini dilisensikan di bawah MIT License - lihat file [LICENSE](LICENSE) untuk detail.\n\n## 🙏 Ucapan Terima Kasih\n\n- [Google Gemini API](https://ai.google.dev/) untuk analisis AI\n- [Prometheus](https://prometheus.io/) untuk pengumpulan metrik\n- Semua kontributor dan pengguna proyek ini\n\n## 📞 Kontak\n\nJika Anda memiliki pertanyaan atau saran, silakan buka issue di GitHub atau hubungi kami melalui email di kontak@classy.id\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclassyid%2Fgeminiserverguard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclassyid%2Fgeminiserverguard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclassyid%2Fgeminiserverguard/lists"}