ホームページ データベース mysql チュートリアル 安装配置Zabbix来监控MySQL的基本教程_MySQL

安装配置Zabbix来监控MySQL的基本教程_MySQL

May 27, 2016 pm 01:46 PM
mysql zabbix パフォーマンス チュートリアル モニター

Zabbix的简单安装配置说明
1、在已有的LAMP或者LNMP的基础上安装zabbix,安装一些依赖包:

yum -y install mysql-devel libcurl-devel net-snmp-devel
ログイン後にコピー

2、添加用户:

groupadd zabbix
useradd zabbix -g zabbix
ログイン後にコピー

3、创建数据库,添加授权账号

create database zabbix character set utf8;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
ログイン後にコピー

4、编译安装zabbix
下载地址:

wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.0/zabbix-2.2.0.tar.gz
tar zxf zabbix-2.2.0.tar.gz
cd zabbix-2.2.0
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent \
--with-mysql --with-net-snmp --with-libcurl
make install
ログイン後にコピー

5、导入数据库

mysql -uzabbix -pzabbix -hlocalhost zabbix < database/mysql/schema.sql
mysql -uzabbix -pzabbix -hlocalhost zabbix < database/mysql/images.sql
mysql -uzabbix -pzabbix -hlocalhost zabbix < database/mysql/data.sql
ログイン後にコピー

6、修改配置文件

cp misc/init.d/fedora/core/zabbix_server /etc/init.d/
cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
cp -R frontends/php /var/www/html/zabbix
sed -i 's/^DBUser=.*$/DBUser=zabbix/g' /usr/local/zabbix/etc/zabbix_server.conf
sed -i 's/^.*DBPassword=.*$/DBPassword=zabbix/g' /usr/local/zabbix/etc/zabbix_server.conf
sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_server
sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_agentd
ログイン後にコピー

7、添加服务端口:

cat >>/etc/services <<EOF
zabbix-agent 10050/tcp Zabbix Agent
zabbix-agent 10050/udp Zabbix Agent
zabbix-trapper 10051/tcp Zabbix Trapper
zabbix-trapper 10051/udp Zabbix Trapper
EOF
ログイン後にコピー

8、启动服务

/etc/init.d/zabbix_server start
/etc/init.d/zabbix_agentd start
echo "/etc/init.d/zabbix_server start" >> /etc/rc.local
echo "/etc/init.d/zabbix_agentd start" >> /etc/rc.local
ログイン後にコピー

9、web页面配置,配置http访问好了后web登陆:http://ip/zabbix

zabbix监控mysql性能
通过获取mysql状态值将这些状态值传递给服务器并绘制成图片,这样可以观察mysql的工作情况,通常需要获得状态变量有以下

  • Com_update:mysql执行的更新个数
  • Com_select:mysql执行的查询个数
  • Com_insert:mysql执行插入的个数
  • Com_delete:执行删除的个数
  • Com_rollback:执行回滚的操作个数
  • Bytes_received:接受的字节数
  • Bytes_sent:发送的字节数
  • Slow_queries:慢查询语句的个数

1、创建mysql性能监控脚本

#!/bin/bash
#Create by zhengdazhi 2014.09.22
MYSQL_DIR=/usr/local/mysql
MYSQL=${MYSQL_DIR}/bin/mysql
MYSQLADMIN=${MYSQL_DIR}/bin/mysqladmin
MYSQL_SOCK="/tmp/mysql.sock"
MYSQL_USER=root
MYSQL_PWD=root
 
ARGS=1 
if [ $# -ne "$ARGS" ];then 
  echo "Please input one arguement:" 
fi 
case $1 in 
  Uptime) 
    result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK status|cut -f2 -d":"|cut -f1 -d"T"` 
      echo $result 
      ;; 
    Com_update) 
      result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_update"|cut -d"|" -f3` 
      echo $result 
      ;; 
    Slow_queries) 
    result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK status |cut -f5 -d":"|cut -f1 -d"O"` 
        echo $result 
        ;; 
  Com_select) 
    result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_select"|cut -d"|" -f3` 
        echo $result 
        ;; 
  Com_rollback) 
    result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_rollback"|cut -d"|" -f3` 
        echo $result 
        ;; 
  Questions) 
    result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK status|cut -f4 -d":"|cut -f1 -d"S"` 
        echo $result 
        ;; 
  Com_insert) 
    result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_insert"|cut -d"|" -f3` 
        echo $result 
        ;; 
  Com_delete) 
    result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_delete"|cut -d"|" -f3` 
        echo $result 
        ;; 
  Com_commit) 
    result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_commit"|cut -d"|" -f3` 
        echo $result 
        ;; 
  Bytes_sent) 
    result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Bytes_sent" |cut -d"|" -f3` 
        echo $result 
        ;; 
  Bytes_received) 
    result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Bytes_received" |cut -d"|" -f3` 
        echo $result 
        ;; 
  Com_begin) 
    result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_begin"|cut -d"|" -f3` 
        echo $result 
        ;; 
 
    *) 
    echo "Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions)" 
    ;; 
esac
ログイン後にコピー

2、修改客户端配置文件
查看zabbix自带的mysql监控模板

20151223111050744.png (300×202)

可以看出该模板是读取 mysql.status的键,因此在客户端配置文件中加入的自定义键名也应该是mysql.status

vim /usr/local/zabbix_agentd/etc/zabbix_agentd.conf
#开启用户自定义配置
UnsafeUserParameters=1
#添加mysql监控
UserParameter=mysql.status[*],/usr/local/zabbix_agent/bin/checkmysqlperformance.sh $1 $2
ログイン後にコピー

重启客户端
3、测试

[root@localhost bin]# ./zabbix_get -s 127.0.0.1 -k mysql.status[Com_update]
77503
ログイン後にコピー

4、将模板加入主机

20151223111109299.png (300×128)

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

夏はぜひ虹を撮ってみてください 夏はぜひ虹を撮ってみてください Jul 21, 2024 pm 05:16 PM

夏の雨の後には、美しく魔法のような特別な天気の風景、虹がよく見られます。これも写真撮影ではなかなか出会えない光景で、とてもフォトジェニックです。虹が現れるにはいくつかの条件があります。まず、空気中に十分な水滴があること、そして、低い角度から太陽が当たることです。そのため、雨が上がった午後が最も虹が見えやすいのです。ただし、虹の発生は天候や光などの条件に大きく左右されるため、一般に虹の持続時間は短く、見頃や撮影に最適な時間はさらに短くなります。では、虹に遭遇したとき、どうすれば虹を適切に記録し、高品質の写真を撮ることができるでしょうか? 1. 虹を探す 上記の条件に加えて、虹は通常、太陽光の方向に現れます。つまり、太陽が西から東に輝いている場合、虹は東に現れやすくなります。

さまざまな Java フレームワークのパフォーマンスの比較 さまざまな Java フレームワークのパフォーマンスの比較 Jun 05, 2024 pm 07:14 PM

さまざまな Java フレームワークのパフォーマンス比較: REST API リクエスト処理: Vert.x が最高で、リクエスト レートは SpringBoot の 2 倍、Dropwizard の 3 倍です。データベース クエリ: SpringBoot の HibernateORM は Vert.x や Dropwizard の ORM よりも優れています。キャッシュ操作: Vert.x の Hazelcast クライアントは、SpringBoot や Dropwizard のキャッシュ メカニズムよりも優れています。適切なフレームワーク: アプリケーションの要件に応じて選択します。Vert.x は高パフォーマンスの Web サービスに適しており、SpringBoot はデータ集約型のアプリケーションに適しており、Dropwizard はマイクロサービス アーキテクチャに適しています。

MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法 MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法 Dec 09, 2024 am 11:42 AM

MySQL 8.4 (2024 年時点の最新の LTS リリース) で導入された主な変更の 1 つは、「MySQL Native Password」プラグインがデフォルトで有効ではなくなったことです。さらに、MySQL 9.0 ではこのプラグインが完全に削除されています。 この変更は PHP および他のアプリに影響します

間違った仮想通貨チェーンを取り戻すには?間違った仮想通貨送金チェーンを取得するためのチュートリアル 間違った仮想通貨チェーンを取り戻すには?間違った仮想通貨送金チェーンを取得するためのチュートリアル Jul 16, 2024 pm 09:02 PM

仮想市場の拡大は仮想通貨の流通と不可分であり、当然仮想通貨の送金問題とも不可分である。一般的な転送エラーはアドレス コピー エラーで、もう 1 つのエラーはチェーン選択エラーです。仮想通貨を間違ったチェーンに転送することは依然として厄介な問題ですが、初心者は転送操作の経験が浅いため、間違ったチェーンを転送してしまうことがよくあります。間違ったリンクはサードパーティのプラットフォームを通じて取得できますが、成功しない可能性があります。次に、編集者が仮想資産をより適切に管理するために役立つ詳細を説明します。間違った仮想通貨チェーンを取り戻すには?間違ったチェーンに転送された仮想通貨を取得するプロセスは複雑で困難な場合がありますが、転送詳細を確認し、取引所またはウォレットプロバイダーに連絡し、互換性のあるウォレットに秘密キーをインポートし、クロスチェーンブリッジツールを使用することで、

C++ でマルチスレッド プログラムのパフォーマンスを最適化するにはどうすればよいですか? C++ でマルチスレッド プログラムのパフォーマンスを最適化するにはどうすればよいですか? Jun 05, 2024 pm 02:04 PM

C++ マルチスレッドのパフォーマンスを最適化するための効果的な手法には、リソースの競合を避けるためにスレッドの数を制限することが含まれます。競合を軽減するには、軽量のミューテックス ロックを使用します。ロックの範囲を最適化し、待ち時間を最小限に抑えます。ロックフリーのデータ構造を使用して同時実行性を向上させます。ビジー待機を回避し、イベントを通じてリソースの可用性をスレッドに通知します。

Java フレームワークのパフォーマンス比較 Java フレームワークのパフォーマンス比較 Jun 04, 2024 pm 03:56 PM

ベンチマークによると、小規模で高性能なアプリケーションの場合、Quarkus (高速起動、低メモリ) または Micronaut (TechEmpower に優れた) が理想的な選択肢です。 SpringBoot は大規模なフルスタック アプリケーションに適していますが、起動時間とメモリ使用量が若干遅くなります。

PHPを使用してMySQLテーブルからデータを削除するにはどうすればよいですか? PHPを使用してMySQLテーブルからデータを削除するにはどうすればよいですか? Jun 05, 2024 pm 12:40 PM

PHP には、MySQL テーブル内のデータを削除する次のメソッドが用意されています。 DELETE ステートメント: テーブルから条件に一致する行を削除するために使用されます。 TRUNCATETABLE ステートメント: 自動インクリメントされる ID を含む、テーブル内のすべてのデータをクリアするために使用されます。実際のケース: HTML フォームと PHP コードを使用して、データベースからユーザーを削除できます。フォームはユーザー ID を送信し、PHP コードは DELETE ステートメントを使用して ID に一致するレコードを users テーブルから削除します。

PHP を使用して MySQL 接続プールを設定するにはどうすればよいですか? PHP を使用して MySQL 接続プールを設定するにはどうすればよいですか? Jun 04, 2024 pm 03:28 PM

PHP を使用して MySQL 接続プールをセットアップすると、パフォーマンスとスケーラビリティが向上します。手順には次のものが含まれます。 1. MySQLi 拡張機能をインストールします。 2. 接続プール クラスを作成します。 3. 接続プール インスタンスを作成します。 5. 接続を取得および解放します。接続プーリングにより、アプリケーションはリクエストごとに新しいデータベース接続を作成することを回避できるため、パフォーマンスが向上します。

See all articles