从一次BUG粗谈ES6的import
问题描述
报错很明显,this.props.dispatch is not a function,我在组件内无法使用dispatch函数。
问题分析
.
└── src
├── App.jsx
└── router.js
└── models
└── services
└── Alert
└── index.jsx
└── Rules
└── index.jsx
└── Add.js
src/Alert/Rules/index.jsx
import React, { Component } from 'react';
import { connect } ...
Linux错包数监控
怎么查看网络错包数
1、ifconfig
[root@server ~]# ifconfig
bond0: flags=5187<UP,BROADCAST,RUNNING,MASTER,MULTICAST> mtu 1500
inet 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe81::1266:dcff:feeb:6710 prefixlen 64 scopeid 0x20<link>
ether 18:66:da:eb:67:10 txqueuelen 1000 (Ethernet)
RX ...
Linux 文件描述符与文件句柄
一、概念解释
文件描述符
文件描述符(file descriptor, fd)是Linux系统中对已打开文件的一个抽象标记,所有I/O系统调用对已打开文件的操作都要用到它。这里的“文件”仍然是广义的,即除了普通文件和目录外,还包括管道、FIFO(命名管道)、Socket、终端、设备等。
文件描述符是一个简单的整数,用以标明每一个进程所打开的文件。第一个打开的文件是0,第二个打开的是1,依此类推。并且0、1、2三个描述符总是默认分配给标准输入、标准输出和标准错误
每一个文件描述符会与一个打开文件相对应,同时,不同的文件描述符也会指向同一个文件。相同的文件可以被不同的进程打开也可以在同一个进程中被多次打开。系统为每一个进程维护了一个文件描述符表,该表的值都是从0开始的,所以在不同的...
prometheus-使用python自定义exporter开发实例
一个需求,监控GPU机器的每个容器的gpu显存使用情况,并生成报表
调研
由于是要采集每台GPU机器的数据,首先想到的是使用zabbix agent的方式,但是这个需要在每台机器部署数据采集脚本配置监控项,成本较高。
prometheus的exporter可以使用k8s集群部署,并且prometheus的查询方式更有利于做报表输出
所以,这个需求采用了自定义exporter方式开发,并使用k8s部署
一、数据采集
我们知道,查询gpu的显存使用量通常使用nvidia-smi命令
[root@server ~]# nvidia-smi
Tue Jun 8 16:58:32 2021
+------------------------------------...
GitLab + Drone
写在前面:
项目了使用公司的私有镜像仓库和GitLab以及已经搭建好的Drone 0.8,所以部署安装这部分跳过,本文着重讲解drone的配置部分。
另外Drone 0.8版本和1.0及以上在语法上有较大的差异,使用新版本的请参考官方文档
一、基本概念
什么是DRONE?
Drone是一个基于Docker容器技术的可扩展的持续集成引擎,用于自动化测试与构建,甚至发布。每个构建都在一个临时的Docker容器中执行,使开发人员能够完全控制其构建环境并保证隔离。 开发者只需在项目中包含 .drone.yml 文件,将代码推送到 git 仓库,Drone 就能够自动化的进行编译、测试、发布。
DRONE基本原理解析
Drone的部署分为Server(drone-serv...
部署一个最小的hello World应用
本文以一个Flask应用为例,讲解k8s部署步骤
先看一下项目结构
[root@master flask-app]# tree
.
├── app
│ └── app.py
├── deploy.yaml
├── Dockerfile
├── hello-kubernetes.yaml
└── ingress-kubernetes.yaml
1 directory, 5 files
一、编写一个最小的APP-hello world
1.1 app.py
Flask的用法不在本文讲解的范围内,有兴趣的可以查阅官方文档
[root@master flask-app]# mkdir app
[root@master flask-app]# more ./app/app....