Oxidized - Cấu hình Oxidized backup config network lên gitlab


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 .


Oxidized - Cấu hình Oxidized  backup config network lên gitlab


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.


Reference - Cài đặt và cấu hình GitLab trên Centos 7



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.


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


Oxidized - Cấu hình Oxidized  backup config network lên gitlab


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


Oxidized - Cấu hình Oxidized  backup config network lên gitlab


Cuối cùng là chạy lên và xem thành quả :

Oxidized - Cấu hình Oxidized  backup config network lên gitlab


Oxidized - Cấu hình Oxidized  backup config network lên gitlab



Nhãn: