absible自动化部署,zabbix监控mysql

一、什么场景下会用roles?

假如我们现在有3个被管理主机,第一个要配置成httpd,第二个要配置成php服务器,第三个要配置成MySQL服务器。我们如何来定义playbook?

 

第一个play用到第一个主机上,用来构建httpd,第二个play用到第二个主机上,用来构建php,第三个play用到第三个主机上,用来构建MySQL。这些个play定义在playbook中比较麻烦,将来也不利于模块化调用,不利于多次调。比如说后来又加进来一个主机,这个第4个主机既是httpd服务器,又是php服务器,我们只能写第4个play,上面写上安装httpd和php。这样playbook中的代码就重复了。

 

为了避免代码重复,roles能够实现代码重复被调用。定义一个角色叫websrvs,第二个角色叫phpappsrvs,第三个角色叫dbsrvs。那么调用时如下来调用:

hosts: host1

role:

- websrvs



hosts: host2

role:

- phpappsrvs

        

hosts: host3

role:

- dbsrvs

        

hosts: host4

role:

- websrvs

- phpappsrvs

 

 

1:建立部署mariadb所需的数据库所需的目录
[root@srever4 ansible]# ls
ansible.cfg  hosts  playbooks  roles
[root@srever4 ansible]# cd roles/
[root@srever4 roles]# ls
[root@srever4 roles]# mkdir mariadb
[root@srever4 mariadb]# mkdir tasks files templates eta handlers vars defaults
[root@srever4 mariadb]# ls
defaults  eta  files  handlers  tasks  templates  vars

2:创建tasks
[root@srever4 mariadb]# cd tasks/
[root@srever4 tasks]# vim main.yml
- name: install mariadb server
  yum: name=mariadb-server,MySQL-python state=present

- name: config mariadb
  copy: src=my.cnf dest=/etc/my.cnf
  notify: restart mariadb 

- name: start mariadb server
  service: name=mariadb state=started


3:建立部署zabbix服务所需要的目录
[root@srever4 roles]# mkdir zabbix-server/{files,tasks,templates,vars} -p
[root@srever4 roles]# cd zabbix-server/
[root@srever4 zabbix-server]# ls
files  tasks  templates  vars


4:指定yum,安装zabbix服务
[root@srever4 zabbix-server]# cd files/
[root@srever4 files]# ls
[root@srever4 files]# vim zabbix.repo

[zabbix]
name=zabbix4.0
baseurl=http://172.25.60.250/4.0
gpgcheck=0


6:创建zabbix自动化部署所需要的tasks
[root@srever4 files]# cd ..
[root@srever4 zabbix-server]# cd tasks/
[root@srever4 tasks]# ls
[root@srever4 tasks]# vim main.yml
- name: copy zabbix.repo
  copy: src=zabbix.repo dest=/etc/yum.repos.d/zabbix.repo

- name: install zabbix-server
  yum: name=zabbix-server,zabbix-agent state=present
  notify: "init zabbix db"

- name: config zabbix server
  copy: src=zabbix_server.conf dest=/etc/zabbix/zabbix_server.conf
  notify: restart zabbix server

- name: start zabbix server
  service: name={{ item }} state=started
  with_items:
    - zabbix-server
    - zabbix-agent

7:获取数据库文件, my.cnf  
[root@srever4 tasks]# cd ..
[root@srever4 zabbix-server]# cd ..
[root@srever4 roles]# ls
mariadb  zabbix-server
[root@srever4 roles]# cd mariadb/
[root@srever4 mariadb]# cd files/
[root@srever4 files]# ls
[root@srever4 files]# vim my.cnf
[root@srever4 files]# cp /etc/my.cnf .
[root@srever4 files]# ls
my.cnf
[root@srever4 files]# vim my.cnf 

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
#
#
character-set-server=utf8    ###添加这一行

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d


8:编辑handlers模块.yml文件爱
[root@srever4 mariadb]# cd handlers/
[root@srever4 handlers]# vim main.yml
- name: restart mariadb
  service: name=mariadb state=restarted

9:server5主机上安装 zabbix-server
[root@server5 ~]# yum install -y zabbix-server
要配置yum源
[root@server5 yum.repos.d]# yum repolist
Loaded plugins: product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
rhel7.3                                                                                                          | 4.1 kB  00:00:00     
zabbix                                                                                                           | 2.9 kB  00:00:00     
(1/3): rhel7.3/group_gz                                                                                          | 136 kB  00:00:00     
(2/3): zabbix/primary_db                                                                                         | 9.5 kB  00:00:00     
(3/3): rhel7.3/primary_db                                                                                        | 3.9 MB  00:00:00     
repo id                                                          repo name                                                        status
rhel7.3                                                          rhel7.3                                                          4,751
zabbix                                                           zabbix                                                              12
repolist: 4,763

10:发送zabbix-server配置文件
[root@server5 zabbix]# scp zabbix_server.conf server4:/etc/ansible/roles/zabbix-server/files
root@server4's password: 
zabbix_server.conf                            100%   17KB  16.8KB/s   00:00  

[root@srever4 files]# ls
zabbix.repo  zabbix_server.conf
[root@srever4 files]# vim zabbix_server.conf ##设置数据库dbpasswd
DBPassword=zabbix


11:zabbix-server下建立handlers
[root@srever4 zabbix-server]# ls
files  tasks  templates  vars
[root@srever4 zabbix-server]# mkdir handlers
[root@srever4 handlers]# vim main.yml
- name: create datbase
  mysql_db: name=zabbix state=present
  listen: "init zabbix db"

- name: create zabbix user
  mysql_user: name=zabbix password=zabbix priv=zabbix.*:ALL state=present
  listen: "init zabbix db"

- name: import create.sql.gz
  mysql_db: name=zabbix state=import target=/usr/share/doc/zabbix-server-mysql-4.0.5/create.sql.gz
  listen: "init zabbix db"

- name: restart zabbix server
  service: name=zabbix-server state=restarted


12:创建.yml文件
[root@srever4 ansible]# vim zabbix-server.yml
#zabbix-server部署
- hosts: server5
  roles:
    - mariadb
    - zabbix-server

13:检测是否有语法错误
[root@srever4 ansible]# ansible-playbook zabbix-server.yml --syntax-check

playbook: zabbix-server.yml

14:-C 检测运行

[root@srever4 ansible]# ansible-playbook zabbix-server.yml -C

PLAY [server5] *****************************************************************

TASK [Gathering Facts] *********************************************************
ok: [server5]

TASK [mariadb : install mariadb server] ****************************************
ok: [server5]

TASK [mariadb : config mariadb] ************************************************
ok: [server5]

TASK [mariadb : start mariadb server] ******************************************
ok: [server5]

TASK [zabbix-server : copy zabbix.repo] ****************************************
ok: [server5]

TASK [zabbix-server : install zabbix-server] ***********************************
ok: [server5]

TASK [zabbix-server : config zabbix server] ************************************
ok: [server5]

TASK [zabbix-server : start zabbix server] *************************************
ok: [server5] => (item=zabbix-server)
ok: [server5] => (item=zabbix-agent)

PLAY RECAP *********************************************************************
server5                    : ok=8    changed=0    unreachable=0    failed=0   


15:执行.yml文件
[root@srever4 ansible]# ansible-playbook zabbix-server.yml 

PLAY [server5] *****************************************************************

TASK [Gathering Facts] *********************************************************
ok: [server5]

TASK [mariadb : install mariadb server] ****************************************
ok: [server5]

TASK [mariadb : config mariadb] ************************************************
ok: [server5]

TASK [mariadb : start mariadb server] ******************************************
ok: [server5]

TASK [zabbix-server : copy zabbix.repo] ****************************************
ok: [server5]

TASK [zabbix-server : install zabbix-server] ***********************************
ok: [server5]

TASK [zabbix-server : config zabbix server] ************************************
changed: [server5]

TASK [zabbix-server : start zabbix server] *************************************
ok: [server5] => (item=zabbix-server)
ok: [server5] => (item=zabbix-agent)

RUNNING HANDLER [zabbix-server : restart zabbix server] ************************
changed: [server5]

PLAY RECAP *********************************************************************
server5                    : ok=9    changed=2    unreachable=0    failed=0   





16:[root@server5 zabbix]# netstat -antlp
查看zabbix_agentd,zabbix_server
tcp6       0      0 :::10050                :::*                    LISTEN      5707/zabbix_agentd  
tcp6       0      0 :::10051                :::*                    LISTEN      10713/zabbix_server 










 

原文地址:https://blog.csdn.net/yinzhen_boke_0321/article/details/88875424

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


安装开始...1.打开“https://dev.mysql.com/downloadsepo/yum/”下载Mysql源      将下载好的mysql源上传linux服务器 2.yumlocalinstallmysql80*#安装源 centos7中默认安装的是mariadb数据库,如果想要安装mysql,首先要移除mariadb;
安装Helm3#官网下载慢#wgethttps://get.helm.sh/helm-v3.5.4-linux-amd64.tar.gzwgethttp://qiniu.dev-share.top/helm-v3.5.4-linux-amd64.tar.gztar-zxvfhelm-v3.5.4-linux-amd64.tar.gzcplinux-amd64/helm/usr/local/bin#查看helmclient版本helmversion
通过Linux命令行启动用的指令:systemctlstartmariadb.service反馈:Failedtostartmariadb.service:Unitmariadb.servicenotfound.MariaDB简介MariaDB是MySQL的一个分支,MariaDB打算保持与MySQL的高度兼容性,确保具有库二进制奇偶校验的直接替换功能,以及与MySQLAPI和命令
InstallingMariaDBServer10.4TodeployMariaDBCommunityServer10.4onRHEL7orCentOS7,firstdownloadandusethe mariadb_repo_setup scripttoconfiguretheMariaDBrepositoriesforYUM:$sudoyuminstallwget$wgethttps://downloads.mariadb.com/
阅读目录一什么是存储引擎二mysql支持的存储引擎三使用存储引擎一什么是存储引擎mysql中建立的库--> 文件夹库中建立的表--> 文件现实生活中我们用来存储数据的文件有不同的类型,每种文件类型对应各自不同的处理机制:比如处理文本用txt类型,处理表格用excel,处理图片
1、安装MariaDB安装命令yum-yinstallmariadbmariadb-server安装完成MariaDB,首先启动MariaDBsystemctlstartmariadb设置开机启动systemctlenablemariadb[root@node1~]#systemctlenablemariadbCreatedsymlinkfrom/etc/systemd/system/multi-user.target.wants/m
Centos7.5 刚安装的mariadb数据库报错报错:ERROR1045(28000):Accessdeniedforuser'root'@'localhost'(usingpassword:NO)原因一:没有启动数据库解决方法:systemctlstartmariadbsystemctlenablemariadb原因二:未知解决方法:[root@db01~]#
基于YUM安装的mariadb多实例.=================================================================1.yum安装mariadb-server包#yuminstallmariadb-server2.创建多实例对应的目录结构#mkdir/mysql/{3306,3307,3308}/{data,etc,socket,log,bin,pid}-pv#tree/mysql//mysql/
一、系统环境[root@localhost~]#cat/etcedhat-releaseCentOSLinuxrelease7.6.1810(Core)二、mysql安装#yuminstallmysqlmysql-servermysql-devel安装mysql-server失败,如下图:[root@localhost~]#yuminstallmysql-serverLoadedplugins:fastestmirrorLoadingm
数据库的选择两大点是:开源和跨平台,满足这三点MySQL、MongoDB和MariaDB。其中MariaDB是MySQL的分支,也是它的进阶产品,未来很有可能替代MySQL。与MySQL相比较,MariaDB更强的地方在于:Maria 存储引擎PBXT存储引擎XtraDB 存储引擎FederatedX 存储引擎更快的复制查询处理线
使用Navicat连接数据库时出现了 HostxxxisnotallowedtoconnecttothisMariaDbserver的情况。发现了是因为授权的问题,使得连接权限受阻。所以,只需要进入数据库中,给予其权限即可。具体解决代码如下:[root@localhost~]#mysql-uroot-pEnterpassword:#首先进入mys
1.临时表当绘画结束时,临时表会自动销毁,无法用showtables查看临时表。MariaDB[jason]>createtemporarytabletmp(prochar(30),citychar(30));QueryOK,0rowsaffected(0.01sec)MariaDB[jason]>insertintotmpvalues('shanghai','shanghai');QueryOK,1
为了看阳光我来到世上数据库介绍数据库是一个存放数据的仓库,目前市面上最流行的数据库大致氛围的两种,一种叫做关系型数据库,一种叫做非关系型数据库,而关系型数据库近期流行的即为mysql,mysql原本是一个开源的数据库后被oracle公司收购,开始进行服务收费,因此,市面上大多数免费
1,Linux上的mysql MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松
启动Mariadb前提需安装mariadb-server-安装mariadb-serveryuminstall-ymariadb-server-启动服务systemctlstartmariadb.service-添加到开机启动systemctlenablemariadb.service-安全设置,以及修改数据库管理员密码mysql_secure_installation-启
1、查看是否安装及可用安装:yumlist|grepmaria2、安装maria(依赖其他几个安装包):yuminstallmariadb-server.x86_64输入'y'继续安装直到安装结束3、检查是否安装:4、安装完后登录提示错误:mysql-uroot-p是由于安装完但是并未启动maria服务5、启动maria有以下几种方法:system
通过yum安装mariadb,并配置MySQL主从服务器主服务器:192.168.10.11从服务器:192.168.10.12#!/bin/bash#====================================================#Author:Mr.Song#CreateDate:2019-02-21#Description:autoconfigMySQLmaster&slave#=====================
实验:实现基于SSL加密的主从复制实验步骤:环境:三台主机,一台CA:200,一台master:150,一台slave:100平时都是在CA上帮用户生成私钥,在服务器上做的1CA,master,slave的证书相关文件mkdir/etc/my.cnf.d/sslcd/etc/my.cnf.d/sslopensslgenrsa2048>cakey.pemopensslreq-new-x509-k
MariaDB[db1]>select*fromstudent;+----+------+-----+--------+-------+|id|name|age|gender|phone|+----+------+-----+--------+-------+|1|a|20|m|119||2|b|20|m|120||3|c|20|m|110
过年了,在老家闲余时间想敲敲代码,发现在安装mariaDb的时候一直报错错误信息:Service‘MySQL’(MySQL)Faildtostart,Verifythatyouhavesuffcientprivilegestostartsystemservices.服务的MySQL(MySQL)启动错误,确认你有权限启动系统服务。记得多年前在使用sqlserver数