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" の入力ボックスのスタイル変更の概要

推薦する

iframe の src を about:blank に設定した後の詳細

iframe の src を 'about:blank' に設定した後、"...

Vuexの特性と機能の詳細な説明

目次Vuex とは何ですか? Vuexの5つの特性vuex の State 機能とは何ですか? vu...

MySQL を暗号化および復号化するいくつかの方法 (要約)

目次前面に書かれた双方向暗号化エンコード/デコードAES_ENCRYPT/AES_DECRYPT D...

ウェブページのコアコンテンツ(画像とテキスト)の視覚的表現の紹介

情報の最適化と改良は常にデザインの最初のステップです。 「これは百度アライアンスユーザーエクスペリエ...

Tomcat および Web アプリケーションの Docker デプロイメントの実装

1.dockerをオンラインでダウンロードする yum インストール -y epel-release...

JavaScript で最も高速なループはどれですか?

どの for ループまたは反復子がニーズに適しているかを知ることで、アプリケーションのパフォーマンス...

CSS 命名: BEM、スコープ付き CSS、CSS モジュール、CSS-in-JS の説明

CSS の適用範囲はグローバルです。プロジェクトがどんどん大きくなり、参加する人が増えるにつれて、命...

HTTPSの最も優れた説明

皆さんおはようございます。しばらく記事を更新していませんでした。実は、私は流行中に1か月以上家にいて...

レスポンシブフレームワークのテーブルヘッダーの自動改行問題に対する簡単な解決策

最近、Bootstrap を使って Web サイトを開発しています。表を処理していたところ、PC で...

HTML テーブルの使い方 (Web ページの視覚効果を表示する)

NetEase Blog で HTML を使用する場合、テンプレートに直接コードを追加できることは...

Vueにおける混合継承の詳細な説明

目次混合継承の影響: 1. 継承Vue.extend メソッド​プロパティを拡張する2. ミックスイ...

Vue2/vue3 ルーティング権限管理方法の例

1. Vueルーティングの権限制御には一般的に2つの方法がありますa. ルーティングメタ情報(メタ)...

Linux で yum と入力した後に -bash: /usr/bin/yum: No such file or directory という問題を解決する方法

Linuxでyumを入力すると、プロンプトが表示されます: -bash: /usr/bin/yum:...

MySQL InnoDB row_id 境界オーバーフロー検証方法の手順

背景クラスメートと row_id の境界問題について話し合ったので、ここで詳しく説明します。 Inn...

Vue3でカルーセルコンポーネントをカプセル化する方法

目的カルーセルコンポーネントをカプセル化して直接使用します。具体的な内容は以下のとおりです。一般的な...