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

推薦する

MySQL LOAD_FILE() 関数メソッドの概要

MySQL では、LOAD_FILE() 関数はファイルを読み取り、その内容を文字列として返します。...

Dockerコンテナ間の通信と外部ネットワーク通信の操作

コンテナ間の通信1. コンテナのネットワーク共有このモードの Docker コンテナはネットワーク ...

Centos システムの指定された場所に Nginx をインストールする方法

Centos システムの指定された場所に Nginx をインストールするにはどうすればいいですか?は...

Linux での MongoDB のインストールと設定のチュートリアル

MongoDBインストールYumを使用してインストールすることを選択する1. repoファイルを作成...

HTML におけるベースタグの使用に関する詳細な説明

requireJS には、baseURL というプロパティがあります。baseURL を設定すること...

MySQL での実行計画の explain コマンド例の詳細な説明

序文explain コマンドは、クエリ オプティマイザーがクエリの実行を決定した方法を確認する主な方...

Reactのコンテキストとプロパティの説明

目次1. 文脈1. 使用シナリオ2. 使用手順3. 結論2. 小道具の詳細1. 子供の財産2. 小道...

ローカル フォルダー内の画像を読み込んで表示するための HTML サンプル コード

一つの目的Html ページでローカル フォルダーを選択すると、フォルダーとそのサブフォルダー内のすべ...

Windows Server 2008 R2 リモート デスクトップのポート 3389 を変更する方法

Windows サーバー リモート デスクトップのデフォルトのポート番号は 3389 です。職場でサ...

削除、切り捨て、ドロップの違いと選択方法

序文先週、同僚が私に尋ねました。「兄さん、MySQL にバグを見つけました。午後にディスクをクリーン...

HTMLリンクタグのrel属性

<link> タグは、現在のドキュメントと Web コレクション内の他のドキュメントとの...

Vue プロジェクト @change 複数のパラメータを使用して複数のイベントを渡す

まず、変更イベントは 1 つだけです。 changelevel() //値を選択選択を変更して行の値...

Node.jsはMySQLデータベースの実戦記録を追加、削除、変更、チェックします

目次プロジェクトでデータベースを操作する3つのステップデータベースを操作するための具体的な手順1: ...

JavaScript で大きなファイルの並列ダウンロードを実装する方法

目次1. HTTP範囲リクエスト1.1 範囲構文2. 大きなファイルをダウンロードする方法2.1 補...