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

推薦する

Linux echo テキスト処理コマンドの使用法と例

Linux ヘルプ ドキュメントでの echo の説明は、Python や Java などのプログラ...

dockerカスタムイメージでphp7をビルドする方法

まず、簡単な Docker インストールを実行します。イメージをカスタマイズするには、ベースイメージ...

vue+canvasでタイムラインを描く方法

この記事では、参考までにvueキャンバスのタイムライン描画の具体的なコードを紹介します。具体的な内容...

2008 年の Web デザインにおける 10 の経験

<br />インターネットは絶えず変化しており、BusinessWeek.com は専門...

MySql におけるプロセス制御関数/統計関数/グループ化クエリの使用法の分析

これからの道のりは長く困難ですが、私は探求を続けます。また週末がやってきました。引き続き、皆さんと一...

データベースの冗長フィールドを合理的に使用する方法

privot は、多対多の関係の中間テーブルです。 PT5 フレームワークは自動的に privot ...

LinuxにMySQLをインストールし、外部ネットワークアクセスを構成する例

設定手順1. DNSが設定されているかどうかを確認するDNSが設定されていない場合は、前の記事を参照...

CSS3は子供のころの紙飛行機を実現する

今日は折り紙飛行機(飛べる飛行機)を作ります基本的にすべてCSSで実装されており、JSはごく一部に過...

Linux システムでのスケジュールされたタスクの紹介

目次1. 計画タスクをカスタマイズする2. 時間を同期する3. 練習する4. セキュリティの問題1....

ネイティブ js はカスタム スクロール バー コンポーネントを実装します

この記事の例では、カスタムスクロールバーコンポーネントを実装するためのjsの具体的なコードを参考まで...

MAC で MySQL のデフォルトの文字セットを utf8 に変更する方法

1. デフォルトでインストールされているMySQLの文字セットを確認するmysql> '...

Msyql トランザクション分離について知っておくべきこと

トランザクションとは何ですか?トランザクションは、データベース管理システムの実行プロセスにおける論理...

テーブルの最大幅と最小幅を設定する際の互換性の問題と解決策の詳細な説明

テーブル内の min-width と max-width プロパティの設定 <テーブル>...

MySQL 文字列インデックスのより合理的な作成ルールに関する議論

序文MySQL インデックスの使用に関しては、これまでインデックスの最左接頭辞ルール、インデックス ...

Linuxの読み取りコマンドの使用

1. コマンドの紹介read コマンドは、シェルの組み込みコマンドで、標準入力または -u オプショ...