天天看點

Linux運維跳槽必備面試題

  • hosts: web:app

    roles:

    -{ role: nginx, when: ansible_distribution_major_version == "7", tags: ["web","nginx"] }

    -{ role: httpd, when: ansible_distribution_major_version == "6", tags: ["web","httpd"] }

    編寫劇本測試是哪個版本:

    vim when.yml

    -hosts: web

    tasks:

    -name: when6

    file: path=/data/f6.txt state=touch

    when: ansible_distribution_major_version == "6"

    -name: when7

    file: path=/data/f7.txt state=touch

    when: ansible_distribution_major_version == "7" ansible-playbook when.yml

    編寫nginx.yml劇本:

    [root@centos7 ~]#cat nginx.yml

    • name: install

      yum: name=nginx

    • name: config

      template: src=nginx.conf.j2 dest=/etc/nginx/nginx.conf

      notify: restart

    • name: data

      copy: src=/data/index.html dest=/usr/share/nginx/html/

    • name: service

      service: name=nginx state=started enabled=yes

    • name: restart

      service: name=nginx state=restarted

      編寫mysql.yml的playbook劇本:

      vim mysql.yml

      -hosts:app

      -name:group

      group:me=mysql system=yes

      -name: user

      user: name=mysql system=yes home=/data/mysql shell=/sbin/nologin group=mysql

      -name: unarchive

      unarchive: src=/data/mariadb-10.2.22-linux-x86_64.tar.gz dest=/usr/local

      -name: mysqldir dir owner group

      file: path=/usr/local/mariadb-10.2.22-linux-x86_64 state=directory owner=root group=root

      recurse=yes

      -name: mysqldir link

      file: src=/usr/local/mariadb-10.2.22-linux-x86_64 path=/usr/local/mysql state=link

      -name: data file

      shell: chdir=/usr/local/mysql/ ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

      -name: config

      copy: src=/data/my.cnf dest=/etc/ backup=yes

      -name: script

      copy: src=/data/myqld dest=/etc/init.d/ mode=755

      -name: service

      shell: /etc/init.d/mysqld start

      zabbix 監控了多少用戶端 用戶端是怎麼進行批量安裝的?

      根據實際公司台數回答。1、使用指令生成密鑰。2、将公鑰發送到所有安裝zabbix用戶端的主機。3、安裝 ansible 軟體,(修改配置檔案,将zabbix 客戶機添加進組)。4、建立一個安裝zabbix用戶端的劇本。5、執行該劇本。6、驗證。

      zabbix 怎麼開啟自定義監控:1、寫一個腳本用于擷取待監控服務的一些狀态資訊。2、在zabbix用戶端的配置檔案zabbix_agentd.conf中添加上自定義的“UserParameter”,目的是友善zabbix調用我們上面寫的那個腳本去擷取待監控服務的資訊。3、在zabbix服務端使用zabbix_get測試是否能夠通過第二步定義的參數去擷取zabbix用戶端收集的資料。4、在zabbix服務端的web界面中建立模闆,同時第一步的腳本能夠擷取什麼資訊就添加上什麼監控項,“鍵值”設定成前面配置的“UserParameter”的值。5、資料顯示圖表,直接建立圖形并選擇上一步的監控項來生成動态圖表即可。

      zabbix 自定義發現是怎麼做的?

      1、首先需要在模闆當中建立一個自動發現的規則,這個地方隻需要一個名稱和一個鍵值。2、過濾器中間要添加你需要的用到的值宏。3、然後要建立一個監控項原型,也是一個名稱和一個鍵值。4、然後需要去寫一個這樣的鍵值的收集。

      自動發現實際上就是需要首先去獲得需要監控的值,然後将這個值作為一個新的參數傳遞到另外一個收集資料的item裡面去。

      zabbix 是怎麼實施監控的:

      一個監控系統運作的大概的流程是這樣的:agent需要安裝到被監控的主機上,它負責定期收集各項資料,并發送到zabbix server端,zabbix server将資料存儲到資料庫中,zabbix web根據資料在前端進行展現和繪圖。

      【主動監測】通信過程如下:

      zabbix首先向ServerActive配置的IP請求擷取active items,擷取并送出active tiems資料值server或者proxy。

      擷取ACTIVE ITEMS清單

      Agent打開TCP連接配接(主動檢測變成Agent打開)

      Agent請求items檢測清單

      Server傳回items清單

      Agent 處理響應

      關閉TCP連接配接

      Agent開始收集資料

      主動檢測送出資料過程如下:

      Agent建立TCP連接配接

      Agent送出items清單收集的資料

      Server處理資料,并傳回響應狀态

      【被動監測】通信過程如下:

      Server打開一個TCP連接配接

      Server發送請求agent.ping\n

      Agent接收到請求并且響應

      Server處理接收到的資料

      zabbix主被動模式有啥差別:zabbix有啥特點:

      被動模式:此模式為zabbix預設的工作模式,由zabbix server向zabbix agent發出指令擷取資料,zabbix agent被動地去擷取資料并傳回給zabbix server,zabbix server會周期性地向agent索取資料。此模式的最大問題就是會增加zabbix server的工作量,在大量的伺服器環境下,zabbix server不能及時擷取到最新的資料。

      主動模式:即由zabbix agent主動采集資料并傳回給zabbix server,不需要zabbix server的另行幹預,是以使用主動模式能在一定程式上減輕zabbix server的壓力。

      zabbix可橫向擴充、自定義監控項、支援多種監控方式、可監控網絡與服務等。