天天看点

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可横向扩展、自定义监控项、支持多种监控方式、可监控网络与服务等。