Oxidized - Cấu hình Oxidized backup config network lên gitlab
Chủ Nhật, 15 tháng 12, 2019
Tiếp tục đến với Oxidized , như hôm trước nói đến cách cài đặt là lưu trữ config trong bài Cài đặt server backup configuration network tập trung với Oxidized trên Centos 7 .
Như bài trên thì mọi config sẽ được lưu vào thư mục : Configs , theo cách cấu hình này coi như cũng OK, nhưng quá trình kiểm tra so sánh cũng hơi cực xíu, nên config đẩy lên gitlab để theo dõi coi như giải pháp khá ok.
Đầu tiên cần có một server Gitlab trước rồi hãy nói, cách cài đặt tham khảo bài how to config gitlab on centos 7 . Bài này sẽ hướng dẫn cài gitlab khá chi tiết và cách cài cũng đơn giản.
Bước 1 : Trên server Oxidized chạy Generating SSH key và cung cấp key cho gitlab.
ssh-keygen
Sẽ tạo ra key và copy key public này qua gitlab tạo tài khoản
Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub.
Bước 2 : Trên gitlab tạo 1 tài khoản và add key này vào
User : sa
Repo : git@gitlab.demo.com:sa/cisco.git
Emai : sa@sa.com
OK, vậy là xong bước 2, quay lại server Oxidized và làm bước 3 là ok.
Bước 3 : Config Oxidized theo cú pháp sau.
Chú ý chỉ cần sử 2 phần sau :
Output : Chỉnh sửa lại dùng git, và phần đặc biệt quan trọng là repo, tạo đường dẫn này để khi backup config sẽ lưu lại cấu hình local và push lên gitlab, project-description.git thư mục sẽ tự sinh ra.
Hooks: Cấu hình để remote và push config lên gitlab.
cd /root/.config/oxidized
[root@oxidized oxidized]# vi config
--- username: locpq password: pass model: junos resolve_dns: true interval: 3600 use_syslog: false debug: false threads: 30 timeout: 20 retries: 3 prompt: !ruby/regexp /^([\w.@-]+[#>]\s?)$/ rest: 192.168.1.175:8888 next_adds_job: true vars: enable: cisco groups: {} models: {} pid: "/root/.config/oxidized/pid" crash: directory: "/root/.config/oxidized/crashes" hostnames: false stats: history_size: 10 input: default: ssh, telnet debug: false ssh: secure: false ftp: passive: true utf8_encoded: true output: default: git git: user: sa email: sa@sa.com repo: "/root/.config/oxidized/git-repos/project-description.git" source: default: csv csv: file: "/root/.config/oxidized/router.db" delimiter: !ruby/regexp /:/ map: name: 0 model: 1 gpg: false model_map: juniper: junos cisco: ios hooks: push_to_remote: type: githubrepo events: [post_store] remote_repo: git@gitlab.demo.com:sa/cisco.git publickey: /root/.ssh/id_rsa.pub privatekey: /root/.ssh/id_rsa
Cuối cùng là chạy lên và xem thành quả :
Nhãn: Oxidized