Saltstack に Zabbix サービスをデプロイする方法を説明します

Saltstack に Zabbix サービスをデプロイする方法を説明します

SaltstackがZabbixサービスを導入

環境

ホストip仕える
マスター192.168.200.132塩マザー
ノード1 192.168.200.133塩のミニオン

[root@master salt]# ツリー prod/
製品/
|-- モジュール
| |-- アプリケーション
| | `--php
| | |-- ファイル
| | | |-- インストール.sh
| | | |-- 鬼車-devel-6.8.2-2.el8.x86_64.rpm
| | | |-- php-7.4.24.tar.gz
| | | |-- php-fpm
| | | |-- php-fpm.conf
| | | |-- php-fpm.service
| | | `-- www.conf
| | `-- install.sls
| |-- データベース
| | `--mysql
| | |-- ファイル
| | | |-- インストール.sh
| | | |-- my.cnf
| | | |--mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
| | | |--mysql.server
| | | `--mysqld.service
| | `-- install.sls
| `-- ウェブ
| `-- アパッチ
| |-- ファイル
| | |-- apr-1.7.0.tar.gz
| | |-- apr-util-1.6.1.tar.gz
| | |-- httpd-2.4.49.tar.gz
| | |-- httpd.conf
| | |-- httpd.サービス
| | |-- インデックス.php
| | `-- install.sh
| `-- install.sls
`-- ザビックス
    |-- apache.sls
    |-- ファイル
    | |-- インデックス.php
    | |-- インストール.sh
    | |--mysql.conf
    | |-- php.ini
    | |-- vhosts.conf
    | |-- zabbix-5.4.4.tar.gz
    | `-- zabbix_server.conf
    |-- メイン.sls
    |--mysql.sls
    `--zabbix.sls

httpd、mysql、phpをインストールする

httpdをインストールする

[root@master salt]# cat prod/modules/web/apache/install.sls 
apache-dep-パッケージ:
  インストールされたpkg:
    -パッケージ:
      - openssl-devel
      - pcre-devel
      - 海外駐在員開発
      -libtool
      -gcc
      - gcc-c++
      - 作る

アパッチ:
  ユーザー.present:
    - シェル: /sbin/nologin
    -createhome:偽
    -システム: 真

apache ダウンロード:
  ファイル管理:
    - 名前:
      - /usr/src/apr-1.7.0.tar.gz:
        - ソース: salt://modules/web/apache/files/apr-1.7.0.tar.gz
      - /usr/src/apr-util-1.6.1.tar.gz:
        - ソース: salt://modules/web/apache/files/apr-util-1.6.1.tar.gz
      - /usr/src/httpd-2.4.49.tar.gz:
        - ソース: salt://modules/web/apache/files/httpd-2.4.49.tar.gz

/usr/lib/systemd/system/httpd.service:
  ファイル管理:
    - ソース: salt://modules/web/apache/files/httpd.service
    - ユーザー: root
    - グループ: ルート
    - モード: '0644'

salt://modules/web/apache/files/install.sh:
  コマンドスクリプト

/usr/local/httpd/conf/httpd.conf:
  ファイル管理: 
    - ソース: salt://modules/web/apache/files/httpd.conf
    - ユーザー: root
    - グループ: ルート
    - モード: '0644'
[root@master salt]# cat prod/modules/web/apache/files/install.sh 
#!/bin/bash

/usr/src に移動します
rm -rf apr-1.7.0 apr-util-1.6.1 httpd-2.4.49

tar xf apr-1.7.0.tar.gz
tar xf apr-util-1.6.1.tar.gz
tar xf httpd-2.4.49.tar.gz

/usr/src/apr-1.7.0 をコピーします
sed -i '/$RM "$cfgfile"/d' 設定 
./configure --prefix=/usr/local/apr && \
        作成 && インストール && \
cd ../apr-util-1.6.1
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && \
        作成 && インストール && \
cd ../httpd-2.4.49
./configure --prefix=/usr/local/httpd \
        --enable-so \
        --enable-ssl \
        --enable-cgi \
        --enable-rewrite \
        --with-zlib \
        --pcre \ で
        --with-apr=/usr/local/apr \
        --with-apr-util=/usr/local/apr-util/ \
        --enable-modules=ほとんど\
        --enable-mpms-shared=すべて \
        --with-mpm=プリフォーク && \
        作成 && インストール && \
systemctlデーモンリロード

MySQLをインストールする

[root@master salt]# cat prod/modules/database/mysql/install.sls
ncurses 互換ライブラリ: 
  パッケージがインストールされました

mysqlユーザーを作成します:
  ユーザー.present:
    - 名前: mysql
    -システム: 真
    -createhome:偽
    - シェル: /sbin/nologin

データディレクトリを作成:
  ファイル.ディレクトリ: 
    - 名前: /opt/data
    - ユーザー: mysql
    - グループ: mysql
    - モード: '0755'
    -makedirs:true


/usr/src/mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz:
  ファイル管理: 
    - ソース: salt://modules/database/mysql/files/mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz
    - ユーザー: root
    - グループ: ルート
    - モード: '0644'

salt://modules/database/mysql/files/install.sh:
  コマンドスクリプト

転送ファイル: 
  ファイル管理: 
    - 名前: 
      - /usr/local/mysql/support-files/mysql.server:
        - ソース: salt://modules/database/mysql/files/mysql.server
      - /usr/lib/systemd/system/mysqld.service:
        - ソース: salt://modules/database/mysql/files/mysqld.service
[root@master salt]# cat prod/modules/database/mysql/files/install.sh
#!/bin/bash

/usr/src に移動します
tar xf mysql-5.7.34-linux-glibc2.12-x86_64.tar.gz -C /usr/local
ローカルマシンでmysqlを実行するには、次のコマンドを実行します。
chown -R mysql.mysql /usr/local/mysql*
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/opt/data/
echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh

PHPをインストールする

[root@master salt]# cat prod/modules/application/php/install.sls
/usr/src/鬼車-devel-6.8.2-2.el8.x86_64.rpm:
  ファイル管理:
    - ソース: salt://modules/application/php/files/oniguruma-devel-6.8.2-2.el8.x86_64.rpm
    - ユーザー: root
    - グループ: ルート
    - モード: '0644'
  cmd.run: 
    - 名前: yum -y install /usr/src/oniguruma-devel-6.8.2-2.el8.x86_64.rpm

dep-パッケージのインストール: 
  インストールされたpkg: 
    -パッケージ: 
      - libxml2
      - libxml2-devel
      - オープンSSL
      - openssl-devel
      -bzip2
      - bzip2-開発
      - libcurl
      - libcurl-devel
      - libicu-devel
      - libjpegターボ
      - libjpeg-turbo-devel
      - libpng
      - libpng-devel
      - openldap-devel
      - pcre-devel
      -フリータイプ
      - フリータイプ開発
      -gmp
      - gmp-開発
      - libmcrypt
      - libmcrypt-devel
      - リードライン
      - リードライン開発
      -libxslt
      - libxslt-devel
      -mハッシュ
      - mhash-devel
      - php-mysqlnd
      - libsqlite3x-devel
      - libzip-devel


php-7.4.24 をアンインストールします。
  ファイル管理: 
    - ソース: salt://modules/application/php/files/php-7.4.24.tar.gz
    - ユーザー: root
    - グループ: ルート
    - モード: '0644'

#salt://modules/application/php/files/install.sh:
# コマンドスクリプト

コピーphp: 
  ファイル管理: 
    - 名前: 
      - /etc/init.d/php-fpm:
        - ソース: salt://modules/application/php/files/php-fpm
        - ユーザー: root
        - グループ: ルート
        - モード: '0755'
      - /usr/local/php7/etc/php-fpm.conf:
        - ソース: salt://modules/application/php/files/php-fpm.conf
      - /usr/local/php7/etc/php-fpm.d/www.conf:
        - ソース: salt://modules/application/php/files/www.conf
      - /usr/lib/systemd/system/php-fpm.service:
        - ソース: salt://modules/application/php/files/php-fpm.service

php-fpm.サービス:
  サービス実行中:
    -有効: 有効
[root@master salt]# cat prod/modules/application/php/files/install.sh
#!/bin/bash

/usr/src に移動します
rm -rf php-7.4.24
tar xf php-7.4.24.tar.gz
php-7.4.24をインストールします
./configure --prefix=/usr/local/php7 \
        --with-config-file-path=/etc \
        --enable-fpm \
        --disable-debug \
        --disable-rpath \
        --enable-shared \
        --enable-soap \
        --openssl \ で
        --enable-bcmath \
        --アイコン付き\
        --with-bz2 \
        --enable-calendar \
        --curl \ で
        --enable-exif \
        --enable-ftp \
        --enable-gd \
        --jpeg 付き \
        --with-zlib-dir \
        --freetype \ で
        --gettext \ で
        --enable-mbstring \
        --enable-pdo \
        --with-mysqli=mysqlnd \
        --with-pdo-mysql=mysqlnd \
        --readline で読み込みます \
        --enable-shmop \
        --enable-simplexml \
        --enable-sockets \
        --zip \ で
        --enable-mysqlnd-compression-support \
        --梨付き\
        --enable-pcntl \
        --enable-posix && \
        作成 && インストール

Zabbixに必要なランプアーキテクチャ環境を展開する

[root@master salt]# cat prod/zabbix/apache.sls
「開発ツール」:
  pkg.group_installed

含む: 
  -modules.web.apache.install

/usr/include/httpd:
  ファイル.シンボリックリンク: 
    - ターゲット: /usr/local/apache/include

/usr/local/httpd/htdocs/zabbix:
  ファイル.ディレクトリ: 
    - ユーザー: root
    - グループ: ルート
    - モード: '0775'
    -makedirs: 真

/usr/local/httpd/htdocs/zabbix/index.php:
  ファイル管理: 
    - ソース: salt://zabbix/files/index.php
    - ユーザー: root
    - グループ: ルート
    - モード: '0644'

/usr/local/httpd/conf/extra/vhosts.conf:
  ファイル管理: 
    - ソース: salt://zabbix/files/vhosts.conf
    - ユーザー: root
    - グループ: ルート
    - モード: '0644'

zabbix-apache-サービス:
  サービス実行中: 
    - 名前: httpd
    -有効: 有効
[root@master salt]# cat prod/zabbix/mysql.sls
ランプ依存パッケージ: 
  インストールされたpkg: 
    -パッケージ: 
      - ncurses-devel
      - openssl-devel
      - オープンSSL
      - メイク 
      - mariadb-devel

含む:
  -modules.database.mysql.インストール

MySQLファイルを提供します:
  ファイル管理: 
    - ユーザー: root
    - グループ: ルート
    - モード: '0644'
    - 名前: 
      - /etc/my.cnf:
        - ソース: salt://zabbix/files/my.cnf
      - /etc/ld.so.conf.d/mysql.conf:
        - ソース: salt://zabbix/files/mysql.conf


mysql の include ディレクトリに以下の行を追加します。
  ファイル.シンボリックリンク: 
    - ターゲット: /usr/local/mysql/include

mysqld.サービス:
  サービス実行中: 
    -有効: 有効

mysqld パスワード設定: 
  cmd.run:
    - 名前: /usr/local/mysql/bin/mysql -e "set password = password('123456');"

ここに画像の説明を挿入

Zabbixをインストールする

[ルート@マスターソルト]# cat prod/zabbix/zabbix.sls    
zabbix-dep-パッケージ:
  インストールされたpkg:

   -パッケージ:
     - ネットSNMP開発
     - libevent-devel

ザビックス:
  ユーザー.present:
    - シェル: /sbin/nologin
    -システム: 真
    -createhome:偽

zabbix-5.4.4 をアンインストールします。
  ファイル管理:
    - ソース: salt://zabbix/files/zabbix-5.4.4.tar.gz

salt://zabbix/files/install.sh:
  コマンドスクリプト

/usr/local/etc/zabbix_server.conf:
  ファイル管理:
    - ソース: salt://zabbix/files/zabbix_server.conf



: : //var/lib/mysql: ディレクトリ
  ファイル.ディレクトリ:
    - ユーザー: root
    - グループ: ルート      
    - モード: '0755'

mysql.sock は、
  ファイル.シンボリックリンク:
    - ターゲット: /tmp/mysql.sock



zabbix_server:
  cmd.run:
    - 名前:
      -cp -r /usr/src/zabbix-5.4.4/ui/* /usr/local/httpd/htdocs/zabbix/
      -zabbix_サーバー
      - ザビックスエージェント

/etc/php.ini:
  ファイル管理:
    - ソース: salt://zabbix/files/php.ini
    - ユーザー: root
    - グループ: ルート
    - モード: '0644'

リロードサービス:
  サービス実行中:
    - リロード: true
    - 名前:
      - httpd
      -php-fpm
[root@master salt]# cat prod/zabbix/files/install.sh 
#!/bin/bash

/usr/src に移動します
tar xf zabbix-5.4.4.tar.gz -C /usr/src

/usr/local/mysql/bin/mysql -uroot -p123456 -e "データベース zabbix 文字セット utf8 照合 utf8_bin を作成します。"
/usr/local/mysql/bin/mysql -uroot -p123456 -e "zabbix.* のすべての権限を '123' で識別される zabbix@localhost に付与します。"
/usr/local/mysql/bin/mysql -uroot -p123456 -e "権限をフラッシュします。"

cd /usr/src/zabbix-5.4.4/database/mysql/
/usr/local/mysql/bin/mysql -uroot -p123456 zabbix < schema.sql
/usr/local/mysql/bin/mysql -uroot -p123456 zabbix < images.sql
/usr/local/mysql/bin/mysql -uroot -p123456 zabbix < data.sql

zabbix-5.4.4 をインストールします。
./configure --enable-server \
        --enable-agent \
        --mysql \ で
        --net-snmp \ で
        --with-libcurl \
        --with-libxml2 && \
        インストールする 

ここに画像の説明を挿入

これで、saltstack を使用した zabbix サービスの展開に関するこの記事は終了です。saltstack を使用した zabbix サービスの展開の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Zabbix による SQL Server サービス ステータスの監視の詳細な説明
  • ZabbixはLinuxシステムサービスのプロセスを監視
  • Ubuntu システムで Zabbix サーバー監視を展開する方法のチュートリアル

<<:  バックアップと削除のためにリアルタイムでステートメントを検出するMySQLトリガーの考え方の詳細な説明

>>:  type="file" の入力ボックスのスタイル変更の概要

推薦する

CSS の無効な行の高さ設定の問題の解決策

CSS の無効な行の高さ設定についてまず、次のコード文字列を記述します。 <!DOCTYPE ...

Linux には make コマンドがありません (make: *** ターゲットが指定されておらず、makefile または make コマンドのインストール方法が見つかりません)

知らせ! ! !この状況は、実際には仮想マシンのインストール中に回避できます。次回仮想マシンをテスト...

Vue+Springbootでインターフェースシグネチャを実装するためのサンプルコード

1. 実装のアイデアインターフェース署名の目的は、リクエストパラメータが改ざんされていないか、リクエ...

自動ウェブページ更新と自動ジャンプのサンプルコード

ウェブページの自動更新: <head></head> の間に次のコードを追加...

MySQL データベースの集計クエリと結合クエリ操作

目次1. クエリ結果を挿入する2. 集計クエリ2.1 はじめに2.2 集計関数2.3 group b...

Vue+ElementUI はページング関数を実装します - mysql データ

目次1. 問題2. 解決策2.1 ページングコンポーネント2.2 データベースデータを取得する関数:...

MySQL では SQL ステートメントはどのように実行されますか?

目次1. MySQLアーキテクチャの分析1.1 コネクタ1.2 クエリキャッシュ1.3 アナライザー...

CentOS 7 は Hadoop 2.10 の高可用性 (HA) をビルドします

この記事では、CentOS 7 で高可用性 Hadoop 2.10 クラスターを構築する方法を紹介し...

Linux サーバーのクイックアンインストールとノード環境のインストール (簡単に始められます)

1.まずnpmをアンインストールする sudo npm アンインストール npm -g 2. ノー...

React Native APPのアップデートに関する簡単な説明

目次アプリ更新プロセス大まかなフローチャートアプリ情報の更新1. まず取得する必要があるファイルアド...

HTML テーブル タグ チュートリアル (47): ネストされたテーブル

<br />このページでは、テーブルをネストすることで組版を実現しています。つまり、1 ...

MySQL InnoDB のロック機構の詳細な説明

前面に書かれたデータベースは本質的に共有リソースであるため、同時アクセスのパフォーマンスを最大化する...

ウェブページの表の分割線を削除する方法

<br />Web テーブルの分割線を削除する方法。実際、上記の 3 つの表はいずれも ...

VMWare仮想マシンのcentosの時間が現地時間と矛盾する問題を解決する

VM Ware 仮想マシン CentOS の時刻は、次の図に示すように、現地時間と一致しません。おそ...

Linux で AIDE に基づいてファイルシステムの整合性を検出する方法

1. 補助AIDE (Advanced Instruction Detection Environm...