1.

复制代码
from jinja2 import Environment, FileSystemLoader
import os.path

def to_html():
    #路径,__file__ :表示当前代码所在的源文件
    path = '{}'.format(os.path.dirname(__file__))
    print(path)
    print("----------------")
    #加载
    loader = FileSystemLoader(path)
    env = Environment(loader=loader)
    template = env.get_template('template.html')
    #平台运行状况
    ns = [["阿里云",0,"正常"],["华为云",0,"正常"],["微软云",0,"正常"]]
    print("------------------")
    #kafka 整体信息
    cloud_kafka_lists=[]
    with open(r"D://index/kafka_par.csv" ,'r') as f:
        for line in f.readlines():
            # print(line.strip(','))
            line=line.split(',')
            #去掉换行符
            for t in range(len(line)):
                line[t]=line[t].strip("\n")
            cloud_kafka_lists.append(line)
    print(cloud_kafka_lists)

    new_html=template.render(cloud_lists=ns,cloud_kafka_lists=cloud_kafka_lists)
    with open("cloud.html", "wb") as fh:
        fh.write(new_html.encode())
if __name__ == '__main__':
    to_html()
复制代码

 

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>一 平台运行状况</h1>
    <table width="50%" border=1 cellspacing="0" cellpadding="5" bgcolor="#ffe4c4" class="tabtop13" >
        <tr bgcolor="aqua">
            <th>云平台</th>
            <th>故障次数</th>
            <th>运行情况</th>
        </tr>
        {% for cloud in cloud_lists %}
        <tr>
            {% for c in cloud %}
            <th>{{ c }}</th>
            {% endfor %}
        </tr>
        {% endfor %}
    </table>
<h1>二 ELK各索引资源使用情况</h1>
   <img src="cid:ali_elk" alt="ali_elk">
   <img src="cid:huawei_elk" alt="huawei_elk">
   <img src="cid:azure_elk" alt="azure_elk">

<h1>三 Kafka运行状况</h1>
<h2>整体情况</h2>
    <table width="50%" border=1 cellspacing="0" cellpadding="5" bgcolor="#ffe4c4" class="tabtop13" >
        <tr bgcolor="aqua">
            <th>云平台</th>
            <th>集群</th>
            <th>主题</th>
            <th>分区</th>
            <th>消费组</th>
            <th>消费者</th>
        </tr>
        {% for kafka in cloud_kafka_lists %}
        <tr>
            {% for k in kafka %}
            <th>{{ k }}</th>
            {% endfor %}
        </tr>
        {% endfor %}
    </table>
<h2>各云平台kafka消费延迟情况</h2>
<h3>阿里云</h3>
   <img src="cid:ali_kafka" alt="ali_kafka">
<h3>华为云</h3>
   <img src="cid:huawei_kafka" alt="huawei_kafka">
<h3>微软云</h3>
   <img src="cid:azure_kafka" alt="azure_kafka">

<h1>四 各云平台RabbitMQ消息积压</h1>
<h3>阿里云</h3>
   <img src="cid:aliyun_mq" alt="aliyun_mq">
<h3>华为云</h3>
   <img src="cid:huawei_mq" alt="huawei_mq">
<h3>微软云</h3>
   <img src="cid:azure_mq" alt="azure_mq">

<h1>五 Redis各平台一个云Total Keys状况</h1>
    <img src="cid:aliyun_redis" alt="aliyun_redis">
    <img src="cid:aliyun-wfm4_redis" alt="aliyun-wfm4_redis">
    <img src="cid:azure-wfm4_redis" alt="azure-wfm4_redis">
    <img src="cid:azure-p_redis" alt="azure-p_redis">
    <img src="cid:huawei-p_redis" alt="huawei-p_redis">
    <img src="cid:huawei-wfm4_redis" alt="huawei-wfm4_redis">
</body>
</html>
复制代码

生成结果:

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>一 平台运行状况</h1>
    <table width="50%" border=1 cellspacing="0" cellpadding="5" bgcolor="#ffe4c4" class="tabtop13" >
        <tr bgcolor="aqua">
            <th>云平台</th>
            <th>故障次数</th>
            <th>运行情况</th>
        </tr>
        
        <tr>
            
            <th>阿里云</th>
            
            <th>0</th>
            
            <th>正常</th>
            
        </tr>
        
        <tr>
            
            <th>华为云</th>
            
            <th>0</th>
            
            <th>正常</th>
            
        </tr>
        
        <tr>
            
            <th>微软云</th>
            
            <th>0</th>
            
            <th>正常</th>
            
        </tr>
        
    </table>
<h1>二 ELK各索引资源使用情况</h1>
   <img src="cid:ali_elk" alt="ali_elk">
   <img src="cid:huawei_elk" alt="huawei_elk">
   <img src="cid:azure_elk" alt="azure_elk">

<h1>三 Kafka运行状况</h1>
<h2>整体情况</h2>
    <table width="50%" border=1 cellspacing="0" cellpadding="5" bgcolor="#ffe4c4" class="tabtop13" >
        <tr bgcolor="aqua">
            <th>云平台</th>
            <th>集群</th>
            <th>主题</th>
            <th>分区</th>
            <th>消费组</th>
            <th>消费者</th>
        </tr>
        
        <tr>
            
            <th>aliyun</th>
            
            <th>ali-p</th>
            
            <th>904</th>
            
            <th>9936</th>
            
            <th>496</th>
            
            <th>1481</th>
            
        </tr>
        
        <tr>
            
            <th>azure</th>
            
            <th>azsg-p</th>
            
            <th>1260</th>
            
            <th>14745</th>
            
            <th>68</th>
            
            <th>744</th>
            
        </tr>
        
        <tr>
            
            <th>huawei</th>
            
            <th>hw-kafka-p</th>
            
            <th>940</th>
            
            <th>3227</th>
            
            <th>862</th>
            
            <th>3714</th>
            
        </tr>
        
    </table>
<h2>各云平台kafka消费延迟情况</h2>
<h3>阿里云</h3>
   <img src="cid:ali_kafka" alt="ali_kafka">
<h3>华为云</h3>
   <img src="cid:huawei_kafka" alt="huawei_kafka">
<h3>微软云</h3>
   <img src="cid:azure_kafka" alt="azure_kafka">

<h1>四 各云平台RabbitMQ消息积压</h1>
<h3>阿里云</h3>
   <img src="cid:aliyun_mq" alt="aliyun_mq">
<h3>华为云</h3>
   <img src="cid:huawei_mq" alt="huawei_mq">
<h3>微软云</h3>
   <img src="cid:azure_mq" alt="azure_mq">

<h1>五 Redis各平台一个云Total Keys状况</h1>
    <img src="cid:aliyun_redis" alt="aliyun_redis">
    <img src="cid:aliyun-wfm4_redis" alt="aliyun-wfm4_redis">
    <img src="cid:azure-wfm4_redis" alt="azure-wfm4_redis">
    <img src="cid:azure-p_redis" alt="azure-p_redis">
    <img src="cid:huawei-p_redis" alt="huawei-p_redis">
    <img src="cid:huawei-wfm4_redis" alt="huawei-wfm4_redis">
</body>
</html>
View Code
复制代码